mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-01 22:50:35 +00:00
387b50d827
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.
92 lines
1.6 KiB
ArmAsm
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
|
|
|