1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-10 21:49:27 +00:00
6502bench/SourceGen/SGTestData/Expected/2007-labels-and-symbols_Merlin32.S
Andy McFadden da5833caef Rename project/platform symbols that clash with opcode mnemonics
We're doing this for user labels but not for project/platform
symbols.  So if you have a constant named "BCC" you can't assemble
your code with certain assemblers.  Now we rename it automatically.

Added a quick test to 2007-labels-and-symbols.  (No change to ACME,
which barfs on the test.)
2020-01-17 18:29:20 -08:00

202 lines
4.4 KiB
ArmAsm

;Project was edited to add a label in the middle of a dense hex region, and add
;a duplicate label.
BMI equ $30 ;opcode mnemonic
zip equ $cd
absl equ $1029
absh equ $feed
biggie equ $123456
thirty2 equ $12345678 ;32-bit constant test
plataddr equ $3000 ;address only in platform file
projalsa equ $3200 ;same val as projalso
org $012345
start clc
xce
sep #$30
lda #zip
lda #zip+16
lda #zip+64
lda #<absh
lda #>absh
lda #<absh+64
lda #>absh+$100
lda #<absl
lda #>absl
lda #<absl-64
lda #>absl-$100
lda #<start
lda #>start
lda #^start
pea $feed
pea start
pea $0001
pea $3456
pea $0012
pea absh
pea start
pea ^start
pea biggie
pea ^biggie
lda zip+1
lda: zip+1
ldal zip+1
lda absh-1
ldal absh-1
lda absh+1
ldal absh+1
lda start+1
ldal start+1
lda start-1
ldal start-1
lda biggie+1
ldal biggie+1
lda biggie-1
ldal biggie-1
rep #$30
mx %00
lda #zip
lda #zip+16
lda #zip+64
lda #absl
lda #>absl
lda #absl-$1000
lda #>absl-$1000
lda #^absl
lda #absh
lda #>absh
lda #absh+$1000
lda #>absh+$1000
lda #^absh+$10000
lda #start
lda #>start
lda #^start
lda #biggie
lda #>biggie
lda #^biggie
bra :skipdata
dfb zip
dfb <absh
dfb >absh
dfb <start
dfb >start
dfb ^start
dw zip
dw absl
dw >absl
dw absl-$1000
dw >absl-$1000
dw absh
dw >absh
dw absh+$1000
dw >absh+$1000
dw start
dw >start
dw ^start
dw start+1
dw >start
dw ^start
ddb absh
adr zip
adr absh
adr >absh
adr start
adr >start
adr ^start
adrl zip
adrl absh
adrl >absh
adrl start-1
adrl >start
adrl ^start
:skipdata lda #^biggie-$10000
mvn #^biggie,#^biggie-$110000
mvp #^start,#^start+$110000
mvn #18,#1
mvp #%00000001,#%00010010
per :skipdata
brl :nextchunk
:nextchunk jml :L1000_1
org $1000
:L1000_1 nop
:L1000 nop
:L1000_0 nop
:l1000 sep #$30
mx %11
lda plataddr
lda $3100
lda projalsa
lda $3300
bra :calls
nop
:targ nop
nop
:L1016 per :targ-1
per :targ
per :targ+1
jsr :targ-1
jsr :targ
jsr :targ+1
:L1028 bra :targ-1
:L102A bra :targ
:L102C bra :targ+1
:L102E brl :targ-1
:L1031 brl :targ
:L1034 brl :targ+1
:L1037 jmp :targ-1
:L103A jmp :targ
:L103D jmp :targ+1
:L1040 jml :targ-1
jml :targ
jml :targ+1
:calls jsr :L1016
jsr :L1028
jsr :L102A
jsr :L102C
jsr :L102E
jsr :L1031
jsr :L1034
jsr :L1037
jsr :L103A
jsr :L103D
jsr :L1040
jsr $1044
jsr $1048
brl :L118E
:bulk hex 808182838485868788898a8b8c8d8e8f808182838485868788898a8b8c8d8e8f ;bulky
hex 808182838485868788898a8b8c8d8e8f808182838485868788898a8b8c8d8e8f
hex 808182838485868788898a8b8c8d8e8f808182838485868788898a8b8c8d8e8f
hex 808182838485868788898a8b8c8d8e8f
:string asc 'This is a long string. Put a label and comment on it to confir' ;stringy
asc 'm that the label and comment only appear on the first line. T'
asc 'he quick brown fox jumps over the lazy dogs.'
:L118E lda #<thirty2+2
lda #>thirty2+$300
lda #^thirty2
rep #BMI
mx %00
lda #thirty2+3
lda #>thirty2+$400
lda #^thirty2
rts