1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-03 05:49:48 +00:00
6502bench/SourceGen/SGTestData/Expected/2009-branches-and-banks_64tass.S
Andy McFadden 149e763821 Change the way ASCII is handled for 64tass
The documentation for 64tass says you're required to pass "--ascii"
when the source file is ASCII (as opposed to PETSCII).  We were
ignoring this, but it turns out that everything works a bit better
if we don't.

So we now pass "--ascii" on the command line, and add a two-line
character encoding definition to every file that is generated with
ASCII as the default encoding.  The sg_petscii and sg_screen
encodings go away, as PETSCII is now the default, and we can use the
built-in "screen" encoding.
2019-08-20 11:21:30 -07:00

80 lines
1.4 KiB
ArmAsm

.cpu "65816"
.enc sg_ascii
.cdef $20,$7e,$20
longsym = $123456
* = $1000
.as
.xs
clc
xce
sep #$30
jmp L0000
.logical $0000
L0000 bit @wL0000
L0003 lda L0000
lda L0003
bne LFFC3
bmi $ffc3
per LFFC3
bcc L0016
brl L0080
lodat .byte $00
.byte $01
.byte $02
L0016 lda lodat+1
brl LFFC0
.here
.logical $0080
L0080 bit @wL0080
jml L440000
.here
.logical $ffc0
LFFC0 bit LFFC0
LFFC3 brl L0003
.here
.logical $440000
L440000 cmp L440000
L440004 lda L440000
lda @w0+(L440000 & $ffff)
lda L0000
bmi L440004
per high44
bne high44
brl L44FFC0
dat44 .word 0+(dat44 & $ffff)
.long dat44
.here
.logical $44ffc0
L44FFC0 cmp L44FFC0
high44 beq L44FFCB
bmi L440004
brl L440004
L44FFCB jml L2000
.here
.logical $2000
L2000 bit L2000
pea 0+(dat44 & $ffff)
pea 0+(dat44 >> 16)
bne L200E
jml [lodat]
L200E nop
jsr j2
j2 jsr j2+3
jsr j2-3
jsl longsym
rts
.here