1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-01 22:50:35 +00:00
6502bench/SourceGen/SGTestData/Expected/20250-nested-regions_merlin32.S
Andy McFadden 387b50d827 Implement IsRelative for cc65/merlin32
Added support for "relative" address regions to the Merlin 32 and cc65
code generators.  These generate "flat" address directives, and so
were a little more complicated.

Suppressed generation of relative operands for non-addressable regions.

Also, tweaked the 20250-nested-regions test to include a negative
relative region offset.
2021-10-09 10:08:14 -07:00

92 lines
1.6 KiB
ArmAsm

org $0000
dw $3000 ;load address
org $1000
org *+$1000
org *+$1000
L3000 bit L3000
:L3003 lda :L3003
and :LE003
jmp :L200C
org $200c
:L200C bit :L200C
jmp :L1012
org $1012
:L1012 bit :L1012
jsr :L4000
org $0000
dfb $00
hex ce554c4c2d5445524d20d0c5d4d3c3c9c920535452494e4700
dfb $80
dw :L3003
dw :LE003
dfb $80
org $4000
:L4000 bit :L4000
bit :L5000
bit :L500F
bit :L500F
nop
jmp :L4020
org $5000
:L5000 bit :L5000
bit :L4000
nop
nop
:L5008 bit :L5008
bit :L5017
nop
:L500F rts
org $4020
:L4020 bit :L4020
bit :L500F
nop
nop
nop
nop
nop
nop
nop
jmp :L4040
org $5008
:L5008_0 bit :L5008_0
bit :L5000
nop
:L500F_0 bit :L500F_0
nop
nop
nop
nop
nop
:L5017 rts
org $4040
:L4040 bit :L4040
bit :L5017
nop
jmp :LE000
org $1082
org *+$cf7e
:LE000 bit :L200C
:LE003 nop
jmp :LD000
org *-$1007
:LD000 bit :LD000
jmp :LF000
org $f000
:LF000 bit :LF000
lda :L3003
and :LE003
nop
rts