mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-11 20:54:37 +00:00
The label localizer is now always on. The regression tests turned it off by default, but that's no longer allowed, so the generated output has changed for many of them. The tests themselves were not altered.
213 lines
5.3 KiB
ArmAsm
213 lines
5.3 KiB
ArmAsm
;Project was edited to add a label in the middle of a dense hex region, and add
|
|
;a duplicate label.
|
|
.cpu "65816"
|
|
.enc sg_ascii
|
|
.cdef $20,$7e,$20
|
|
zip = $cd
|
|
absl = $1029
|
|
absh = $feed
|
|
biggie = $123456
|
|
thirty2 = $12345678 ;32-bit constant test
|
|
|
|
plataddr = $3000 ;address only in platform file
|
|
projalsa = $3200 ;same val as projalso
|
|
|
|
* = $012345
|
|
.as
|
|
.xs
|
|
start clc
|
|
xce
|
|
sep #$30
|
|
lda #zip
|
|
lda #zip+16
|
|
lda #zip-192
|
|
lda #<absh
|
|
lda #>absh
|
|
lda #<absh-192
|
|
lda #(>absh)+1
|
|
lda #<absl
|
|
lda #>absl
|
|
lda #<absl+192
|
|
lda #(>absl)-1
|
|
lda #<start
|
|
lda #>start
|
|
lda #`start
|
|
pea $feed
|
|
pea 0+(start & $ffff)
|
|
pea $0001
|
|
pea $3456
|
|
pea $0012
|
|
pea absh
|
|
pea 0+(start & $ffff)
|
|
pea 0+(start >> 16)
|
|
pea 0+(biggie & $ffff)
|
|
pea 0+(biggie >> 16)
|
|
lda zip+1
|
|
lda @wzip+1
|
|
lda @lzip+1
|
|
lda absh-1
|
|
lda @labsh-1
|
|
lda absh+1
|
|
lda @labsh+1
|
|
lda 0+(start & $ffff)+1
|
|
lda start+1
|
|
lda 0+(start & $ffff)-1
|
|
lda start-1
|
|
lda 0+(biggie & $ffff)+1
|
|
lda biggie+1
|
|
lda 0+(biggie & $ffff)-1
|
|
lda biggie-1
|
|
rep #$30
|
|
.al
|
|
.xl
|
|
lda #zip
|
|
lda #zip+16
|
|
lda #zip+64
|
|
lda #absl
|
|
lda #(absl >> 8)
|
|
lda #absl-4096
|
|
lda #(absl >> 8)-16
|
|
lda #(absl >> 16)
|
|
lda #absh
|
|
lda #(absh >> 8)
|
|
lda #absh-61440
|
|
lda #(absh >> 8)+16
|
|
lda #(absh >> 16)+1
|
|
lda #(start & $ffff)
|
|
lda #(start >> 8)
|
|
lda #(start >> 16)
|
|
lda #(biggie & $ffff)
|
|
lda #(biggie >> 8)
|
|
lda #(biggie >> 16)
|
|
bra _skipdata
|
|
|
|
.byte zip
|
|
.byte <absh
|
|
.byte >absh
|
|
.byte <start
|
|
.byte >start
|
|
.byte `start
|
|
.word zip
|
|
.word absl
|
|
.word 0+(absl >> 8)
|
|
.word absl-4096
|
|
.word 0+(absl >> 8)-16
|
|
.word absh
|
|
.word 0+(absh >> 8)
|
|
.word absh-61440
|
|
.word 0+(absh >> 8)+16
|
|
.word 0+(start & $ffff)
|
|
.word 0+(start >> 8)
|
|
.word 0+(start >> 16)
|
|
.word 0+(start & $ffff)+1
|
|
.word 0+(start >> 8)
|
|
.word 0+(start >> 16)
|
|
.byte $fe,$ed
|
|
.long zip
|
|
.long absh
|
|
.long 0+(absh >> 8)
|
|
.long start
|
|
.long 0+(start >> 8)
|
|
.long 0+(start >> 16)
|
|
.dword zip
|
|
.dword absh
|
|
.dword 0+(absh >> 8)
|
|
.dword start-1
|
|
.dword 0+(start >> 8)
|
|
.dword 0+(start >> 16)
|
|
|
|
_skipdata lda #(biggie >> 16)-1
|
|
mvn #`biggie,#(`biggie)-17
|
|
mvp #`start,#(`start)+17
|
|
mvn #18,#1
|
|
mvp #%00000001,#%00010010
|
|
per _skipdata
|
|
brl _nextchunk
|
|
|
|
_nextchunk jml _L1000_1
|
|
|
|
.logical $1000
|
|
_L1000_1 nop
|
|
_L1000 nop
|
|
_L1000_0 nop
|
|
_l1000 sep #$30
|
|
.as
|
|
.xs
|
|
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 .byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f ;bulky
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
.byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f
|
|
_string .text "This is a long string. Put a label and comment on it to confir" ;stringy
|
|
.text "m that the label and comment only appear on the first line. T"
|
|
.text "he quick brown fox jumps over the lazy dogs."
|
|
|
|
_L118E lda #<thirty2+2
|
|
lda #(>thirty2)+3
|
|
lda #`thirty2
|
|
rep #$30
|
|
.al
|
|
.xl
|
|
lda #(thirty2 & $ffff)+3
|
|
lda #((thirty2 >> 8) & $ffff)+4
|
|
lda #(thirty2 >> 16)
|
|
rts
|
|
|
|
.here
|