1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-05 03:49:53 +00:00
6502bench/SourceGen/SGTestData/Expected/20052-branches-and-banks_cc65.S

153 lines
3.0 KiB
ArmAsm
Raw Normal View History

2018-09-28 17:05:11 +00:00
.setcpu "65816"
zero = $00
2018-09-28 17:05:11 +00:00
longsym = $123456
; .segment "SEG000"
2018-09-28 17:05:11 +00:00
.org $1000
.a8
.i8
clc
xce
sep #$30
jml L440000
2018-09-28 17:05:11 +00:00
lodat: .byte $00
2018-09-28 17:05:11 +00:00
.byte $01
.byte $02
; .segment "SEG001"
2018-09-28 17:05:11 +00:00
.org $440000
L440000: cmp L440000
L440004: lda L440000
lda a:L440000 & $ffff
lda zero
bmi L440004
2018-09-28 17:05:11 +00:00
.byte $62,$b2,$ff
.byte $d0,$b0
.byte $82,$a9,$ff
dat44: .word dat44 & $ffff
.faraddr dat44
2018-09-28 17:05:11 +00:00
; .segment "SEG002"
2018-09-28 17:05:11 +00:00
.org $44ffc0
L44FFC0: cmp L44FFC0
high44: beq @L44FFCB
2018-09-28 17:05:11 +00:00
.byte $30,$3c
.byte $82,$39,$00
@L44FFCB: jml @L2000
2018-09-28 17:05:11 +00:00
; .segment "SEG003"
2018-09-28 17:05:11 +00:00
.org $2000
@L2000: bit @L2000
pea dat44 & $ffff
pea dat44 >> 16
bne skip
jml [lodat]
2018-09-28 17:05:11 +00:00
skip: nop
jsr j2
j2: jsr j2+3
jsr j2-3
2018-09-28 17:05:11 +00:00
jsl longsym
jml bank54
; .segment "SEG004"
.org $543210
bank54: cmp bank54
bra L54321C
backchk: nop
nop
rts
backval: .faraddr backchk
L54321C: lda backchk
lda f:fwdchk
lda $543216
lda $54327d
lda backchk & $ffff +1
lda backchk & $ffff -1
lda fwdchk & $ffff +1
lda fwdval & $ffff +2
nop
jsr backchk & $ffff
jsr backchk & $ffff +1
jsr $3218
jsr fwdchk & $ffff
jsr fwdchk & $ffff +1
jsr $327f
nop
ldx #$00
jsr (backval & $ffff,x)
jsr (fwdval & $ffff,x)
jsr @L54326E & $ffff
jsr @L543271 & $ffff
jsr @L543268 & $ffff
jsr @L54326B & $ffff
jsr @L543274 & $ffff
jsr @L543277 & $ffff
bra L543280
@L543268: jmp (backval & $ffff,x)
@L54326B: jmp (fwdval & $ffff,x)
@L54326E: jmp (lodat)
@L543271: jmp (lodat)
@L543274: jml [lodat]
@L543277: jml [lodat]
fwdval: .faraddr fwdchk
fwdchk: nop
nop
rts
L543280: jsr skip
nop
rep #$30
.a16
.i16
php
lda #$0000
sep #$30
.a8
.i8
lda #$00
plp
lda #$ea
nop
sep #$30
php
lda #$00
rep #$30
.a16
.i16
lda #$0000
plp
lda #$eaea
rep #$30
nop
lda skip
lda skip+20
jsr skip
jsr skip+20
jsr (skip,x)
bne @L5432B7
jmp (skip,x)
@L5432B7: jsr $edcb
lda $edcb
bne @L5432C2
jmp ($edcb,x)
@L5432C2: nop
rtl
2018-09-28 17:05:11 +00:00