1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-10-11 10:23:41 +00:00
6502bench/SourceGen/SGTestData/Expected/2008-address-changes_acme.S
Andy McFadden 51081c5db0 Tweak "nearby" label finder
The code that found a nearby data target for an instruction operand
was searching backward but not forward.  We now take one step
forward, so that "LDA TABLE-1,Y" fills in automatically.

This altered 2008-address-changes, which had just this situation.
It didn't alter 2010-target-adjustment, but the existing tests were
insufficient and have been improved.
2019-10-29 18:12:22 -07:00

124 lines
2.3 KiB
ArmAsm

!cpu 65816
* = $1000
!as
!rs
clc
xce
sep #$ff
jsr L1100
jsr L1107
jmp L2000
!pseudopc $1100 {
L1100 bit L1100
L1103 lda #$11
ldx #$11
L1107 ldy #$11
per L1103
bra L1103
} ;!pseudopc
!pseudopc $1100 {
L1100_0 bit L1100_0
lda #$22
L1105 ldx #$22
ldy #$22
per L1105
jmp L1105
} ;!pseudopc
!pseudopc $1100 {
L1100_1 bit L1100_1
lda #$33
ldx #$33
L1107_0 ldy #$33
per L1107_0
bra L1107_0
} ;!pseudopc
!pseudopc $2000 {
L2000 bit L2000
beq $2018
bra L2020
} ;!pseudopc
!pseudopc $2020 {
L2020 bit L2020
beq $2029
brl L2080
offend nop
} ;!pseudopc
!pseudopc $2080 {
L2080 bit L2080
lda offend
jsr offend
lda $2029
jsr $2029
lda L2080-1
jsr L2080-1
lda L2080
jsr L2080
lda $00
beq L2100
!byte $ad
} ;!pseudopc
!pseudopc $2100 {
L2100 nop
nop
jmp L3000
} ;!pseudopc
!pseudopc $2800 {
!byte $00
!byte $28
!fill 14,$00
} ;!pseudopc
!pseudopc $2820 {
!fill 18,$00
} ;!pseudopc
!pseudopc $3000 {
L3000 bit L3000
lda #$44
ldx #$44
ldy #$44
brl fwd
ulabel !byte $00
!byte $01
} ;!pseudopc
!pseudopc $3100 {
!byte $02
fwd bit fwd
lda ulabel
lda ulabel+1
lda $300e
lda $300f
lda fwd-1
beq L3182
!byte $ea
!byte $ea
} ;!pseudopc
!pseudopc $3180 {
!byte $00
!byte $01
L3182 bit L3182
lda label1
lda label1+1
lda label1+112
bra L3200
label1 !byte $ea
!byte $ea
} ;!pseudopc
!pseudopc $3200 {
L3200 bit L3200
!byte $00
!byte $01
} ;!pseudopc