mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-10 13:54:52 +00:00
All tests use the same data file and nearly the same project file. The only difference is the default text encoding property setting. For "-a" it's ASCII, for "-p" it's PETSCII, for "-s" it's C64 screen code. Right now this only affects the code generated for 64tass. The test itself is a collection of strings and characters in the supported character encodings. How these are handled varies significantly between assemblers.
301 lines
7.9 KiB
ArmAsm
301 lines
7.9 KiB
ArmAsm
;Project edited to mark some non-ASCII operands as ASCII.
|
|
.cpu "65816"
|
|
.enc sg_petscii
|
|
.cdef " @", $20
|
|
.cdef "AZ", $c1
|
|
.cdef "az", $41
|
|
.cdef "[[", $5b
|
|
.cdef "]]", $5d
|
|
* = $1000
|
|
.as
|
|
.xs
|
|
clc
|
|
xce
|
|
sep #$30
|
|
lda #$41
|
|
lda #$c1
|
|
lda #'A'
|
|
lda #$41
|
|
ldx #$61
|
|
ldx #$e1
|
|
ldx #'a'
|
|
ldx #$01
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$0d
|
|
rep #$30
|
|
.al
|
|
.xl
|
|
lda #$42
|
|
lda #$c2
|
|
lda #'B'
|
|
lda #$42
|
|
sep #$30
|
|
.as
|
|
.xs
|
|
rts
|
|
|
|
.byte $43
|
|
.byte $c3
|
|
.byte 'C'
|
|
.byte $43
|
|
.word $64
|
|
.word $e4
|
|
.word 'd'
|
|
.word $04
|
|
.byte $00,$45
|
|
.byte $00,$c5
|
|
.byte $00,$c5
|
|
.byte $00,$45
|
|
.byte $80
|
|
.byte $6c,$6f,$77,$20,$41,$53,$43,$49,$49,$20,$73,$74,$72
|
|
.byte $e8,$e9,$e7,$e8,$a0,$c1,$d3,$c3,$c9,$c9,$a0,$f3,$f4,$f2
|
|
.byte $80
|
|
.text "PETSCII str"
|
|
.byte $80
|
|
.byte $53,$03,$12,$05,$05,$0e,$20,$43,$0f,$04,$05,$20,$13,$14,$12
|
|
.byte $82
|
|
.byte $07,$4c,$6f,$77,$20,$41,$53,$43,$49,$49,$20,$43,$52,$4c,$46,$0d
|
|
.byte $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
|
|
.text $93,"PETSCII with ",$96,"control",$05," codes",$0d
|
|
.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,$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,$5b,$5c,$5d,$5e,$5f
|
|
.byte $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c,$6d,$6e,$6f
|
|
.byte $70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7a,$7b,$7c,$7d,$7e
|
|
.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
|
|
.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
|
|
.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 $7b
|
|
.byte $7c
|
|
.byte $7d
|
|
.byte $7e
|
|
.byte $84
|
|
.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
|
|
.byte $42,$41,$44,$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
|
|
.text $1e,$1f," !",$22,"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmno"
|
|
.text "pqrstuvwxyz["
|
|
.byte $5c
|
|
.byte $5d
|
|
.byte $5e
|
|
.byte $5f
|
|
.byte $60
|
|
.byte $61
|
|
.byte $62
|
|
.byte $63
|
|
.byte $64
|
|
.byte $65
|
|
.byte $66
|
|
.byte $67
|
|
.byte $68
|
|
.byte $69
|
|
.byte $6a
|
|
.byte $6b
|
|
.byte $6c
|
|
.byte $6d
|
|
.byte $6e
|
|
.byte $6f
|
|
.byte $70
|
|
.byte $71
|
|
.byte $72
|
|
.byte $73
|
|
.byte $74
|
|
.byte $75
|
|
.byte $76
|
|
.byte $77
|
|
.byte $78
|
|
.byte $79
|
|
.byte $7a
|
|
.byte $7b
|
|
.byte $7c
|
|
.byte $7d
|
|
.byte $7e
|
|
.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
|
|
.text $95,$96,$97,$98,$99,$9a,$9b,$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
|
|
.text "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
.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
|