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.
316 lines
8.4 KiB
ArmAsm
316 lines
8.4 KiB
ArmAsm
;Project edited to mark some non-ASCII operands as ASCII.
|
|
.cpu "65816"
|
|
.enc sg_screen
|
|
.cdef " ?", $20
|
|
.cdef "@@", $00
|
|
.cdef "AZ", $41
|
|
.cdef "az", $01
|
|
.cdef "[[", $1b
|
|
.cdef "]]", $1d
|
|
* = $1000
|
|
.as
|
|
.xs
|
|
clc
|
|
xce
|
|
sep #$30
|
|
lda #$41
|
|
lda #$c1
|
|
lda #$c1
|
|
lda #'A'
|
|
ldx #$61
|
|
ldx #$e1
|
|
ldx #$41
|
|
ldx #'a'
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$7f
|
|
lda #$0d
|
|
rep #$30
|
|
.al
|
|
.xl
|
|
lda #$42
|
|
lda #$c2
|
|
lda #$c2
|
|
lda #'B'
|
|
sep #$30
|
|
.as
|
|
.xs
|
|
rts
|
|
|
|
.byte $43
|
|
.byte $c3
|
|
.byte $c3
|
|
.byte 'C'
|
|
.word $64
|
|
.word $e4
|
|
.word $44
|
|
.word 'd'
|
|
.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
|
|
.byte $d0,$c5,$d4,$d3,$c3,$c9,$c9,$20,$53,$54,$52
|
|
.byte $80
|
|
.text "Screen Code str"
|
|
.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
|
|
.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 $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
|
|
.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 $7b
|
|
.byte $7c
|
|
.byte $7d
|
|
.byte $7e
|
|
.byte $83
|
|
.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
|
|
.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 $42,$41,$44,$20,$44,$43,$c9
|
|
.byte $84
|
|
.text "edoC neercS esrever"
|
|
.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
|
|
;$00-ff block
|
|
.text "@abcdefghijklmnopqrstuvwxyz["
|
|
.byte $1c
|
|
.byte $1d
|
|
.byte $1e
|
|
.byte $1f
|
|
.text " !",$22,"#$%&'()*+,-./0123456789:;<=>?"
|
|
.byte $40
|
|
.text "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
.byte $5b
|
|
.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
|
|
.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
|