qasm/testdata/2006-operand-formats.S

89 lines
1.8 KiB
ArmAsm

; Copyright 2018 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Assembler: Merlin 32
org $1000
xc off
xc
xc
; 65816 with short regs
clc
xce
sep #$30
mx %11
; Basic operand formats. Show first set as hex, second as decimal,
; third as binary.
lda $01
lda $0102
ldal $010203
lda $01
lda $0102
ldal $010203
lda $01
lda $0102
ldal $010203
bra :skipdata
; Now hex/decimal/binary, 1-2-3-4 bytes, in data area.
hex 01010201020301020304
hex 01010201020301020304
hex 01010201020301020304
:skipdata
; Convert these to ASCII; requires editing file. The code generator
; should display some of these as hex.
lda #$68
lda $68
lda: $0068
ldal $000068
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
; Switch to long regs, continue with ASCII.
rep #$30
mx %00
lda #$0068
lda #$00c8
lda #$6868
rts
; 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
dfb >:ascii,:ascii ;format as big-endian symbol