mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-03 05:49:48 +00:00
149e763821
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.
80 lines
1.4 KiB
ArmAsm
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
|