mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-11 04:57:02 +00:00
We have a single character-encoding test that is cloned 3x so we can exercise the different values for the project's default character set. It was a 65816 test because it tested 16-bit immediate char operands, but that's a very small part of it. The 65816-specific portion is now 20122-char-encoding. The rest is now 201{2,3,4}0-char-encoding-X.
207 lines
5.3 KiB
ArmAsm
207 lines
5.3 KiB
ArmAsm
;Projected edited to format non-char operands as chars.
|
|
.cpu "6502"
|
|
.enc "sg_hiascii"
|
|
.cdef $20,$7e,$a0
|
|
.enc "sg_ascii"
|
|
.cdef $20,$7e,$20
|
|
* = $1000
|
|
lda #'A'
|
|
lda #'A' | $80
|
|
.enc "none"
|
|
lda #'A'
|
|
.enc "screen"
|
|
lda #'A'
|
|
.enc "sg_ascii"
|
|
ldx #'a'
|
|
ldx #'a' | $80
|
|
.enc "none"
|
|
ldx #'a'
|
|
.enc "screen"
|
|
ldx #'a'
|
|
.enc "sg_ascii"
|
|
lda #$7f ;inappropriate format should be ignored
|
|
lda #$7f
|
|
.enc "none"
|
|
lda #$7f
|
|
.enc "screen"
|
|
lda #$7f
|
|
.enc "sg_ascii"
|
|
lda #$0d
|
|
jmp L144B
|
|
|
|
.byte 'C'
|
|
.byte 'C' | $80
|
|
.enc "none"
|
|
.byte 'C'
|
|
.enc "screen"
|
|
.byte 'C'
|
|
.enc "sg_ascii"
|
|
.word 'd'
|
|
.word 'd' | $80
|
|
.enc "none"
|
|
.word 'd'
|
|
.enc "screen"
|
|
.word 'd'
|
|
.byte $00,$45
|
|
.byte $00,$c5
|
|
.byte $00,$c5
|
|
.byte $00,$45
|
|
.byte $80
|
|
.enc "sg_ascii"
|
|
.text "low ASCII str"
|
|
.enc "sg_hiascii"
|
|
.text "high ASCII str"
|
|
.byte $80
|
|
.enc "none"
|
|
.text "PETSCII str"
|
|
.byte $80
|
|
.enc "screen"
|
|
.text "Screen Code str"
|
|
.byte $82
|
|
.enc "sg_ascii"
|
|
.text $07,"Low ASCII CRLF",$0d,$0a
|
|
.byte $82
|
|
.enc "sg_hiascii"
|
|
.text $87,"High ASCII CRLF",$8d,$8a
|
|
.byte $82
|
|
.enc "none"
|
|
.text $93,"PETSCII with ",$96,"control",$05," codes",$0d
|
|
.byte $83
|
|
.enc "sg_ascii"
|
|
.text " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
|
.byte $83
|
|
.enc "sg_hiascii"
|
|
.text " !",$a2,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
|
.byte $83
|
|
.enc "none"
|
|
.text " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "XYZ["
|
|
.byte $5c
|
|
.byte ']'
|
|
.byte $5e
|
|
.byte $5f
|
|
.byte $60
|
|
.text "abcdefghijklmnopqrstuvwxyz"
|
|
.byte $7b
|
|
.byte $7c
|
|
.byte $7d
|
|
.byte $7e
|
|
.byte $83
|
|
.enc "screen"
|
|
.text " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "XYZ["
|
|
.byte $1c
|
|
.byte ']'
|
|
.byte $1e
|
|
.byte $1f
|
|
.byte $40
|
|
.text "abcdefghijklmnopqrstuvwxyz"
|
|
.byte $7b
|
|
.byte $7c
|
|
.byte $7d
|
|
.byte $7e
|
|
.byte $84
|
|
.enc "none"
|
|
.text "IICSTEP esrever"
|
|
.byte $84
|
|
.null "null term PETSCII"
|
|
.byte $84
|
|
.text "This null-terminated string is too long to fit on a single lin"
|
|
.text "e, and will be split.",$00
|
|
.byte $84
|
|
.ptext "PETSCII with length"
|
|
.byte $84
|
|
.text $14,$00,"PETSCII with length2"
|
|
.byte $84
|
|
.shift "pet dci"
|
|
.byte $84
|
|
.enc "screen"
|
|
.text "edoC neercS esrever"
|
|
.byte $84
|
|
.text "null-term screen code?@"
|
|
.byte $84
|
|
.ptext "Screen Code with length"
|
|
.byte $84
|
|
.text $18,$00,"Screen Code with length2"
|
|
.byte $84
|
|
.shift "Screen Code DCI"
|
|
.byte $84
|
|
.byte $85
|
|
.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
|
|
.enc "sg_ascii"
|
|
.text " !",$22,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "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
|
|
.enc "sg_hiascii"
|
|
.text " !",$a2,"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
|
|
.text "XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
|
.byte $ff
|
|
|
|
L144B rts
|
|
|