asar
asar copied to clipboard
(Now) official repository of the SNES assembler Asar, originally created by Alcaro
(alternative title: label optimizer barely knows +/- labels exist) ``` org $8000 lda (+)-1 + ``` miscompiles to A5 01. +/- labels are only considered in getlen if the entire...
* figure out if anyone actually needs that * figure out a workaround for that i guess the most obvious fix would be to allow `freedata` to be more than...
when applying unmodified sa1 pack v1.40 with asar2, there's a bunch of "unclosed if statement", followed in the next pass by "misplaced endif".
The "+" sublabel position breaks the code. Asar 1.81 ``` macro testmacro() !index = 1 !frames_done = 0 while !frames_done < 8 print "run #!index" ;***IF YOU PUT THE +...
\ !rb as -s freecode cleaned db 1,2,3 asdf: org asdf db 4,5,6,7,8,9,10,11,12,13,14,15 \ $80FFD7: 0A $908000: 53 54 41 52 02 00 FD FF 01 02 03 04 05...
To quote the manual: > The includeonce command places an include guard on the file that is currently being assembled. This prevents it from being assembled again in the same...
The manual states "When no mapping mode is specified, Asar tries to determine the mapping mode from the output ROM." but it doesn't work. Asar detects the mapping mode, then...
- **build: do not use threads on macOS builds** - **build: fix macOS compile warnings**
Assembling the following code reproduces the error. ```asm org $808000 print "pc: $",hex(pc()) spcblock $6000 nspc endspcblock print "pc: $",hex(pc()) ``` prints: ``` pc: $808000 pc: $6000 ```
``` org $8000 foo: LDA #datasize(.data) .data: db 0, 1, 2, 3 .end ``` ``` my.asm:4: error: (Elabel_not_found): Label '.data' wasn't found. in block: [LDA #datasize(.data)] ``` for global labels,...