2019-10-06 02:51:34 +00:00
|
|
|
.setcpu "65816"
|
|
|
|
PrintInlineL1String = $011000
|
|
|
|
PrintInlineL2String = $012000
|
|
|
|
PrintInlineDciString = $013000
|
|
|
|
|
|
|
|
; .segment "SEG000"
|
|
|
|
.org $1000
|
|
|
|
.a8
|
|
|
|
.i8
|
|
|
|
clc
|
|
|
|
xce
|
|
|
|
sep #$30
|
|
|
|
jsr PrintInline8String
|
|
|
|
.byte "01234567"
|
|
|
|
jsr PrintInlineRev8String
|
|
|
|
.byte "76543210"
|
|
|
|
jsr PrintInlineNullString
|
|
|
|
.asciiz "null-term string"
|
|
|
|
jsl PrintInlineL1String
|
|
|
|
.byte $14,"string with length/1"
|
|
|
|
jsl PrintInlineL2String
|
|
|
|
.byte $14,$00,"string with length/2"
|
|
|
|
jsl PrintInlineDciString
|
|
|
|
.byte "DCI strin",$e7
|
2020-05-09 00:41:26 +00:00
|
|
|
jsr L1800
|
|
|
|
jsr L184F
|
|
|
|
jsr L1848
|
2019-10-19 23:23:42 +00:00
|
|
|
brk $01
|
2019-10-07 21:21:26 +00:00
|
|
|
.word data01
|
2019-10-19 23:23:42 +00:00
|
|
|
brk $02
|
2019-10-07 21:21:26 +00:00
|
|
|
.word data02
|
2019-10-19 23:23:42 +00:00
|
|
|
nop
|
|
|
|
jsr L1085
|
|
|
|
.byte $24
|
|
|
|
L1085: .byte $a9
|
|
|
|
.byte $00
|
|
|
|
sta $ff
|
|
|
|
.byte $ea
|
2020-05-09 00:41:26 +00:00
|
|
|
jmp Next1
|
2019-10-06 02:51:34 +00:00
|
|
|
|
|
|
|
PrintInline8String: rts
|
|
|
|
|
|
|
|
PrintInlineRev8String: rts
|
|
|
|
|
|
|
|
PrintInlineNullString: rts
|
|
|
|
|
2019-10-07 21:21:26 +00:00
|
|
|
data01: .word 4386
|
|
|
|
.dbyt $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
|
|
|
|
.faraddr PrintInlineL2String
|
|
|
|
.word data02
|
|
|
|
.byte $80
|
2019-11-17 01:15:03 +00:00
|
|
|
data02: .word @data03
|
2019-10-07 21:21:26 +00:00
|
|
|
.byte $80
|
|
|
|
.macro HiAscii Arg
|
|
|
|
.repeat .strlen(Arg), I
|
|
|
|
.byte .strat(Arg, I) | $80
|
|
|
|
.endrep
|
|
|
|
.endmacro
|
2019-11-17 01:15:03 +00:00
|
|
|
@data03: HiAscii "AllEight"
|
2019-10-07 21:21:26 +00:00
|
|
|
|
2020-05-09 00:41:26 +00:00
|
|
|
NoCont: pla ;split across address change
|
|
|
|
pla
|
|
|
|
rts
|
|
|
|
|
|
|
|
L10BA: jsr NoCont
|
|
|
|
|
|
|
|
.byte $00
|
|
|
|
.byte $80
|
|
|
|
|
|
|
|
L10BF: jsr NoCont
|
|
|
|
|
|
|
|
.byte $00
|
|
|
|
.byte $80
|
|
|
|
|
|
|
|
Next1: jsr L10BA
|
|
|
|
jsr @L10CF
|
|
|
|
clc
|
|
|
|
jsr L10BF
|
|
|
|
rts
|
|
|
|
|
|
|
|
@L10CF: sec
|
|
|
|
jsr L10BF
|
2020-08-22 15:56:38 +00:00
|
|
|
clc
|
|
|
|
brk $02
|
|
|
|
.word data02
|
|
|
|
bcc @L10DE
|
|
|
|
bcs @L10DE
|
|
|
|
|
|
|
|
.byte $00
|
|
|
|
.byte $80
|
|
|
|
|
|
|
|
@L10DE: rts
|
2020-05-09 00:41:26 +00:00
|
|
|
|
2020-08-22 15:56:38 +00:00
|
|
|
.res 289,$00
|
2020-05-09 00:41:26 +00:00
|
|
|
|
|
|
|
; .segment "SEG001"
|
|
|
|
.org $1800
|
|
|
|
L1800: jsr PrintInlineNullString
|
|
|
|
per $8778
|
2019-10-06 02:51:34 +00:00
|
|
|
rtl
|
|
|
|
|
|
|
|
.byte $65
|
|
|
|
.byte $6e
|
|
|
|
.byte $20
|
|
|
|
.byte $01
|
2020-05-09 00:41:26 +00:00
|
|
|
; .segment "SEG002"
|
|
|
|
.org $1840
|
2019-10-06 02:51:34 +00:00
|
|
|
.byte "string"
|
|
|
|
.byte $00
|
|
|
|
.byte $60
|
|
|
|
|
2020-05-09 00:41:26 +00:00
|
|
|
L1848: jsl PrintInlineL2String
|
2019-10-06 02:51:34 +00:00
|
|
|
asl A
|
2019-10-19 23:23:42 +00:00
|
|
|
brk $60
|
2019-10-06 02:51:34 +00:00
|
|
|
|
2020-05-09 00:41:26 +00:00
|
|
|
L184F: jsr PrintInlineNullString
|
2019-10-06 02:51:34 +00:00
|
|
|
adc $6e
|
|
|
|
.byte $64
|