mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-10 13:54:52 +00:00
Add 20222-data-bank to regression test suite. This exercises handling of 16-bit operands with inter- and intra-bank references, and tests the smartness in "smart PLB". Also, update a couple of older tests that broke because the DBR is no longer always the same as the PBR. This just required adding "B=K" in a few places to restore the original output.
107 lines
1.7 KiB
ArmAsm
107 lines
1.7 KiB
ArmAsm
.cpu "65816"
|
|
* = $1000
|
|
.as
|
|
.xs
|
|
start clc
|
|
xce
|
|
sep #$30
|
|
lda start
|
|
lda $2000
|
|
phk
|
|
plb
|
|
lda start
|
|
lda $2000
|
|
lda #$02
|
|
pha
|
|
plb
|
|
lda $1000
|
|
lda bank2 & $ffff
|
|
ldx #$08
|
|
tax
|
|
pha
|
|
plb
|
|
jsl bank2
|
|
jsl L24000
|
|
lda #$02
|
|
pha
|
|
plb
|
|
jsl bank3
|
|
phk
|
|
plb
|
|
bit start
|
|
jml L2400F
|
|
|
|
L103A .word _L103C
|
|
|
|
_L103C rts
|
|
|
|
L103D .long L2202E
|
|
|
|
.logical $022000
|
|
bank2 lda bank2
|
|
lda bank2 & $ffff
|
|
ldx #$00
|
|
jsr _L2202B
|
|
jsr _L22025
|
|
jsr _L22028
|
|
nop
|
|
lda #$03
|
|
pha
|
|
plb
|
|
lda L33028 & $ffff
|
|
rep #$30
|
|
.al
|
|
.xl
|
|
lda #$00a9
|
|
pha
|
|
plb
|
|
plb
|
|
sep #$30
|
|
.as
|
|
.xs
|
|
rtl
|
|
|
|
_L22025 jmp (L103A)
|
|
|
|
_L22028 jml [L103D]
|
|
|
|
_L2202B jmp (bank2addr,x)
|
|
|
|
L2202E nop
|
|
rts
|
|
|
|
bank2addr .word L2202E & $ffff
|
|
|
|
.here
|
|
.logical $033000
|
|
bank3 lda bank3
|
|
lda bank2 & $ffff
|
|
jsr _L33020
|
|
beq _L33024
|
|
phk
|
|
.here
|
|
.logical $033020
|
|
_L33020 plb
|
|
nop
|
|
bra _L33024
|
|
|
|
_L33024 lda $2030
|
|
rtl
|
|
|
|
L33028 .word L33028 & $ffff
|
|
|
|
.here
|
|
.logical $024000
|
|
L24000 lda L24000
|
|
phb
|
|
phk
|
|
plb
|
|
lda bank2 & $ffff
|
|
lda $3000
|
|
plb
|
|
rtl
|
|
|
|
L2400F rts
|
|
|
|
.here
|