1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-08-10 23:29:01 +00:00
6502bench/SourceGen/SGTestData/Source/20020-operand-formats.S

100 lines
2.1 KiB
ArmAsm
Raw Normal View History

; Copyright 2018 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Basic tests for 6502.
;
; Assembler: Merlin 32
org $1000
; Basic operand formats. Show first set as hex, second as decimal,
; third as sign-extended decimal, fourth as binary.
lda $01
lda $0102
lda $fe
lda $feff
lda $01
lda $0102
lda $fe
lda $feff
lda $01
lda $0102
lda $fe
lda $feff
lda $01
lda $0102
lda $fe
lda $feff
jmp :skipdata
; Now hex/decimal/sdec/binary, each with .dd1/.dd2/.dd3/.dd4
hex 01010201020301020304
hex 01010201020301020304
hex 01010201020301020304
hex 01010201020301020304
; bonus round for sdec
hex fffffefffefdfffefdfc
:skipdata
; Convert these to ASCII; requires editing file. The code generator
; should display some of these as hex.
lda #$68
lda $68
lda: $0068
lda #$1f
lda #$20
lda #$22
lda #$27
lda #$7e
lda #$7f
lda #$80
lda #$9f
lda #$a0
lda #$a2
lda #$a7
lda #$fe
lda #$ff
jmp end
; Continuing with ASCII
:ascii
dfb $68
dfb $80
dw $6868
dfb $80
; Format first set as address, second set as symbol.
dw :skipdata
adr :skipdata
dfb >:skipdata,:skipdata ;format as big-endian address
dfb :ascii
dfb >:ascii
dw :ascii
adr :ascii
adrl :ascii
dfb >:ascii,:ascii ;format as big-endian symbol
; Merlin 1.0 has trouble with "DFB '{'". Test it and the neighbors.
dfb '['
dfb $7b
dfb $7c
dfb $7d
dfb ','
dfb "["
dfb $fb
dfb $fc
dfb $fd
dfb ","
end rts