1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-02 13:51:36 +00:00
6502bench/SourceGen/SGTestData/Expected/20222-data-bank_cc65.S
Andy McFadden 39b7b20144 ORG rework, part 1
This is the first step toward changing the address region map from a
linear list to a hierarchy.  See issue #107 for the plan.

The AddressMap class has been rewritten to support the new approach.
The rest of the project has been updated to conform to the new API,
but feature-wise is unchanged.  While the map class supports
nested regions with explicit lengths, the rest of the application
still assumes a series of non-overlapping regions with "floating"
lengths.

The Set Address dialog is currently non-functional.

All of the output for cc65 changed because generation of segment
comments has been removed.  Some of the output for ACME changed as
well, because we no longer follow "* = addr" with a redundant
pseudopc statement.  ACME and 65tass have similar approaches to
placing things in memory, and so now have similar implementations.
2021-09-16 17:02:19 -07:00

103 lines
1.7 KiB
ArmAsm

.setcpu "65816"
.org $1000
.a8
.i8
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: .faraddr L2202E
.org $022000
bank2: lda bank2
lda bank2 & $ffff
ldx #$00
jsr @L2202B & $ffff
jsr @L22025 & $ffff
jsr @L22028 & $ffff
nop
lda #$03
pha
plb
lda L33028 & $ffff
rep #$30
.a16
.i16
lda #$00a9
pha
plb
plb
sep #$30
.a8
.i8
rtl
@L22025: jmp (L103A)
@L22028: jml [L103D]
@L2202B: jmp (bank2addr & $ffff,x)
L2202E: nop
rts
bank2addr: .word L2202E & $ffff
.org $033000
bank3: lda bank3
lda bank2 & $ffff
jsr @L33020 & $ffff
beq @L33024
phk
.org $033020
@L33020: plb
nop
bra @L33024
@L33024: lda $2030
rtl
L33028: .word L33028 & $ffff
.org $024000
L24000: lda L24000
phb
phk
plb
lda bank2 & $ffff
lda $3000
plb
rtl
L2400F: rts