mirror of
https://github.com/fadden/6502bench.git
synced 2024-09-10 13:54:52 +00:00
83 lines
1.7 KiB
ArmAsm
83 lines
1.7 KiB
ArmAsm
|
; Copyright 2018 faddenSoft. All Rights Reserved.
|
||
|
; See the LICENSE.txt file for distribution terms (Apache 2.0).
|
||
|
;
|
||
|
; Assembler: Merlin 32
|
||
|
|
||
|
org $1000
|
||
|
|
||
|
; 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 #$7e
|
||
|
lda #$7f
|
||
|
lda #$80
|
||
|
lda #$9f
|
||
|
lda #$a0
|
||
|
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
|
||
|
|