Files
6502bench/SourceGen/SGTestData/Expected/20182-extension-scripts_64tass.S
T
Andy McFadden 037b982d94 Allow scripts to handle COP and WDM inlines
The code that allows scripts to catch and handle BRK/JSR/JSL followed
by inline data now also handles COP and WDM.

(issue #177)
2025-11-30 14:59:39 -08:00

109 lines
2.2 KiB
ArmAsm

.cpu "65816"
.enc "sg_hiascii"
.cdef $20,$7e,$a0
.enc "sg_ascii"
.cdef $20,$7e,$20
bword .macro
.byte (\1)>>8,(\1)&$ff
.endmacro
PrintInlineL1String = $011000
PrintInlineL2String = $012000
PrintInlineDciString = $013000
* = $1000
.as
.xs
clc
xce
sep #$30
jsr PrintInline8String
.text "01234567"
jsr PrintInlineRev8String
.text "76543210"
jsr PrintInlineNullString
.null "null-term string"
jsl PrintInlineL1String
.ptext "string with length/1"
jsl PrintInlineL2String
.text $14,$00,"string with length/2"
jsl PrintInlineDciString
.shift "DCI string"
jsr L1800
jsr L184F
jsr L1848
brk #$01
.word data01
brk #$02
.word data02
jmp Next
PrintInline8String rts
PrintInlineRev8String rts
PrintInlineNullString rts
data01 .word 4386
bword $3344
.dword $88776655
.byte $99,$88,$77,$66
.byte 'f'
.byte 'F' | $80
.byte $40
.byte $c1
.byte $42
.byte $c3
.byte $44
.byte $c5
.byte $46
.byte $c7
.long PrintInlineL2String
.word data02
.byte $80
data02 .word _data03
.byte $80
.enc "sg_hiascii"
_data03 .text "AllEight"
Next clc
brk #$02
.word data02
bcc _L10B8
bcs _L10B8
.byte $00
.byte $80
_L10B8 cop #$03
.enc "sg_ascii"
.ptext "COP!"
.byte $42,$04
.ptext "WDM!"
rts
.fill 313,$00
.logical $1800
L1800 jsr PrintInlineNullString
per $8778
rtl
.byte $65
.byte $6e
.byte $20
.byte $01
.here
.logical $1840
.text "string"
.byte $00
.byte $60
L1848 jsl PrintInlineL2String
asl a
brk #$60
L184F jsr PrintInlineNullString
adc $6e
.byte $64
.here