mirror of
https://github.com/fadden/6502bench.git
synced 2024-11-29 10:50:28 +00:00
38d3adbb08
I didn't think it made sense, but I found something that used it, so apparently it's a thing. This updates the operand editor to let you choose PETSCII+DCI, and updates the assemblers to handle it correctly (really just 64tass, since the others either don't have a DCI directive or don't deal with PETSCII at all). Changed the char-encoding sample from "bad dcI" to "pet dcI", and updated the documentation.
300 lines
8.5 KiB
ArmAsm
300 lines
8.5 KiB
ArmAsm
;Project edited to mark some non-ASCII operands as ASCII.
|
|
.setcpu "65816"
|
|
; .segment "SEG000"
|
|
.org $1000
|
|
.a8
|
|
.i8
|
|
clc
|
|
xce
|
|
sep #$30
|
|
lda #'A'
|
|
lda #'A' | $80
|
|
lda #$c1
|
|
lda #$41
|
|
ldx #'a'
|
|
ldx #'a' | $80
|
|
ldx #$41
|
|
ldx #$01
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$0d
|
|
rep #$30
|
|
.a16
|
|
.i16
|
|
lda #'B'
|
|
lda #'B' | $80
|
|
lda #$c2
|
|
lda #$42
|
|
sep #$30
|
|
.a8
|
|
.i8
|
|
rts
|
|
|
|
.byte 'C'
|
|
.byte 'C' | $80
|
|
.byte $c3
|
|
.byte $43
|
|
.word 'd'
|
|
.word 'd' | $80
|
|
.word $44
|
|
.word $04
|
|
.dbyt 'E'
|
|
.dbyt 'E' | $80
|
|
.dbyt $c5
|
|
.dbyt $45
|
|
.byte $80
|
|
.byte "low ASCII str"
|
|
.macro HiAscii Arg
|
|
.repeat .strlen(Arg), I
|
|
.byte .strat(Arg, I) | $80
|
|
.endrep
|
|
.endmacro
|
|
HiAscii "high ASCII str"
|
|
.byte $80
|
|
.byte $d0,$c5,$d4,$d3,$c3,$c9,$c9,$20,$53,$54,$52
|
|
.byte $80
|
|
.byte $53,$03,$12,$05,$05,$0e,$20,$43,$0f,$04,$05,$20,$13,$14,$12
|
|
.byte $82
|
|
.byte $07,"Low ASCII CRLF",$0d,$0a
|
|
.byte $82
|
|
.byte $87,$c8,$e9,$e7,$e8,$a0,$c1,$d3,$c3,$c9,$c9,$a0,$c3,$d2,$cc,$c6
|
|
.byte $8d,$8a
|
|
.byte $82
|
|
.byte $93,$d0,$c5,$d4,$d3,$c3,$c9,$c9,$20,$57,$49,$54,$48,$20,$96,$43
|
|
.byte $4f,$4e,$54,$52,$4f,$4c,$05,$20,$43,$4f,$44,$45,$53,$0d
|
|
.byte $83
|
|
.byte " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.byte "XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
|
.byte $83
|
|
.byte $a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$aa,$ab,$ac,$ad,$ae,$af
|
|
.byte $b0,$b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$ba,$bb,$bc,$bd,$be,$bf
|
|
.byte $c0,$c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$ca,$cb,$cc,$cd,$ce,$cf
|
|
.byte $d0,$d1,$d2,$d3,$d4,$d5,$d6,$d7,$d8,$d9,$da,$db,$dc,$dd,$de,$df
|
|
.byte $e0,$e1,$e2,$e3,$e4,$e5,$e6,$e7,$e8,$e9,$ea,$eb,$ec,$ed,$ee,$ef
|
|
.byte $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd,$fe
|
|
.byte $83
|
|
.byte $20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2a,$2b,$2c,$2d,$2e,$2f
|
|
.byte $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$3a,$3b,$3c,$3d,$3e,$3f
|
|
.byte $40,$c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$ca,$cb,$cc,$cd,$ce,$cf
|
|
.byte $d0,$d1,$d2,$d3,$d4,$d5,$d6,$d7,$d8,$d9,$da,$5b
|
|
.byte $5c
|
|
.byte $5d
|
|
.byte $5e
|
|
.byte $5f
|
|
.byte $60
|
|
.byte $41,$42,$43,$44,$45,$46,$47,$48,$49,$4a,$4b,$4c,$4d,$4e,$4f,$50
|
|
.byte $51,$52,$53,$54,$55,$56,$57,$58,$59,$5a
|
|
.byte "{|}~"
|
|
.byte $83
|
|
.byte $20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$2a,$2b,$2c,$2d,$2e,$2f
|
|
.byte $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$3a,$3b,$3c,$3d,$3e,$3f
|
|
.byte $00,$41,$42,$43,$44,$45,$46,$47,$48,$49,$4a,$4b,$4c,$4d,$4e,$4f
|
|
.byte $50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$5a,$1b
|
|
.byte $1c
|
|
.byte $1d
|
|
.byte $1e
|
|
.byte $1f
|
|
.byte $40
|
|
.byte $01,$02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10
|
|
.byte $11,$12,$13,$14,$15,$16,$17,$18,$19,$1a
|
|
.byte "{|}~"
|
|
.byte $84
|
|
.byte $c9,$c9,$c3,$d3,$d4,$c5,$d0,$20,$45,$53,$52,$45,$56,$45,$52
|
|
.byte $84
|
|
.byte $4e,$55,$4c,$4c,$20,$54,$45,$52,$4d,$20,$d0,$c5,$d4,$d3,$c3,$c9
|
|
.byte $c9,$00
|
|
.byte $84
|
|
.byte $d4,$48,$49,$53,$20,$4e,$55,$4c,$4c,$2d,$54,$45,$52,$4d,$49,$4e
|
|
.byte $41,$54,$45,$44,$20,$53,$54,$52,$49,$4e,$47,$20,$49,$53,$20,$54
|
|
.byte $4f,$4f,$20,$4c,$4f,$4e,$47,$20,$54,$4f,$20,$46,$49,$54,$20,$4f
|
|
.byte $4e,$20,$41,$20,$53,$49,$4e,$47,$4c,$45,$20,$4c,$49,$4e,$45,$2c
|
|
.byte $20,$41,$4e,$44,$20,$57,$49,$4c,$4c,$20,$42,$45,$20,$53,$50,$4c
|
|
.byte $49,$54,$2e,$00
|
|
.byte $84
|
|
.byte $13,$d0,$c5,$d4,$d3,$c3,$c9,$c9,$20,$57,$49,$54,$48,$20,$4c,$45
|
|
.byte $4e,$47,$54,$48
|
|
.byte $84
|
|
.byte $14,$00,$d0,$c5,$d4,$d3,$c3,$c9,$c9,$20,$57,$49,$54,$48,$20,$4c
|
|
.byte $45,$4e,$47,$54,$48,$32
|
|
.byte $84
|
|
.byte $50,$45,$54,$20,$44,$43,$c9
|
|
.byte $84
|
|
.byte $05,$04,$0f,$43,$20,$0e,$05,$05,$12,$03,$53,$20,$05,$13,$12,$05
|
|
.byte $16,$05,$12
|
|
.byte $84
|
|
.byte $17,$53,$03,$12,$05,$05,$0e,$20,$43,$0f,$04,$05,$20,$17,$09,$14
|
|
.byte $08,$20,$0c,$05,$0e,$07,$14,$08
|
|
.byte $84
|
|
.byte $18,$00,$53,$03,$12,$05,$05,$0e,$20,$43,$0f,$04,$05,$20,$17,$09
|
|
.byte $14,$08,$20,$0c,$05,$0e,$07,$14,$08,$32
|
|
.byte $84
|
|
.byte $53,$03,$12,$05,$05,$0e,$20,$43,$0f,$04,$05,$20,$44,$43,$c9
|
|
.byte $84
|
|
.byte $85
|
|
;$00-ff block
|
|
.byte $00
|
|
.byte $01
|
|
.byte $02
|
|
.byte $03
|
|
.byte $04
|
|
.byte $05
|
|
.byte $06
|
|
.byte $07
|
|
.byte $08
|
|
.byte $09
|
|
.byte $0a
|
|
.byte $0b
|
|
.byte $0c
|
|
.byte $0d
|
|
.byte $0e
|
|
.byte $0f
|
|
.byte $10
|
|
.byte $11
|
|
.byte $12
|
|
.byte $13
|
|
.byte $14
|
|
.byte $15
|
|
.byte $16
|
|
.byte $17
|
|
.byte $18
|
|
.byte $19
|
|
.byte $1a
|
|
.byte $1b
|
|
.byte $1c
|
|
.byte $1d
|
|
.byte $1e
|
|
.byte $1f
|
|
.byte " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.byte "XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
|
.byte $7f
|
|
.byte $80
|
|
.byte $81
|
|
.byte $82
|
|
.byte $83
|
|
.byte $84
|
|
.byte $85
|
|
.byte $86
|
|
.byte $87
|
|
.byte $88
|
|
.byte $89
|
|
.byte $8a
|
|
.byte $8b
|
|
.byte $8c
|
|
.byte $8d
|
|
.byte $8e
|
|
.byte $8f
|
|
.byte $90
|
|
.byte $91
|
|
.byte $92
|
|
.byte $93
|
|
.byte $94
|
|
.byte $95
|
|
.byte $96
|
|
.byte $97
|
|
.byte $98
|
|
.byte $99
|
|
.byte $9a
|
|
.byte $9b
|
|
.byte $9c
|
|
.byte $9d
|
|
.byte $9e
|
|
.byte $9f
|
|
.byte $a0
|
|
.byte $a1
|
|
.byte $a2
|
|
.byte $a3
|
|
.byte $a4
|
|
.byte $a5
|
|
.byte $a6
|
|
.byte $a7
|
|
.byte $a8
|
|
.byte $a9
|
|
.byte $aa
|
|
.byte $ab
|
|
.byte $ac
|
|
.byte $ad
|
|
.byte $ae
|
|
.byte $af
|
|
.byte $b0
|
|
.byte $b1
|
|
.byte $b2
|
|
.byte $b3
|
|
.byte $b4
|
|
.byte $b5
|
|
.byte $b6
|
|
.byte $b7
|
|
.byte $b8
|
|
.byte $b9
|
|
.byte $ba
|
|
.byte $bb
|
|
.byte $bc
|
|
.byte $bd
|
|
.byte $be
|
|
.byte $bf
|
|
.byte $c0
|
|
.byte $c1
|
|
.byte $c2
|
|
.byte $c3
|
|
.byte $c4
|
|
.byte $c5
|
|
.byte $c6
|
|
.byte $c7
|
|
.byte $c8
|
|
.byte $c9
|
|
.byte $ca
|
|
.byte $cb
|
|
.byte $cc
|
|
.byte $cd
|
|
.byte $ce
|
|
.byte $cf
|
|
.byte $d0
|
|
.byte $d1
|
|
.byte $d2
|
|
.byte $d3
|
|
.byte $d4
|
|
.byte $d5
|
|
.byte $d6
|
|
.byte $d7
|
|
.byte $d8
|
|
.byte $d9
|
|
.byte $da
|
|
.byte $db
|
|
.byte $dc
|
|
.byte $dd
|
|
.byte $de
|
|
.byte $df
|
|
.byte $e0
|
|
.byte $e1
|
|
.byte $e2
|
|
.byte $e3
|
|
.byte $e4
|
|
.byte $e5
|
|
.byte $e6
|
|
.byte $e7
|
|
.byte $e8
|
|
.byte $e9
|
|
.byte $ea
|
|
.byte $eb
|
|
.byte $ec
|
|
.byte $ed
|
|
.byte $ee
|
|
.byte $ef
|
|
.byte $f0
|
|
.byte $f1
|
|
.byte $f2
|
|
.byte $f3
|
|
.byte $f4
|
|
.byte $f5
|
|
.byte $f6
|
|
.byte $f7
|
|
.byte $f8
|
|
.byte $f9
|
|
.byte $fa
|
|
.byte $fb
|
|
.byte $fc
|
|
.byte $fd
|
|
.byte $fe
|
|
.byte $ff
|