1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-10 21:49:27 +00:00
6502bench/SourceGen/SGTestData/Expected/20020-operand-formats_Merlin32.S
Andy McFadden b43fd07688 Split 2002x-operand-formats test
My original goal was to add a sign-extended decimal format, but that
turned out to be awkward.  It works for data items and instructions
with immediate operands (e.g. "LDA #-1"), but is either wrong or
useless for address operands, since most assemblers treat integers
as 32-bit values.  (LDA -1 is not LDA $FFFF, it's LDA $FFFFFFFF,
which is not useful unless your asm is doing an implicit mod.)

There's also a bit of variability in how assemblers treat negative
values, so I'm shelving the idea for now.  I'm keeping the updated
tests, which are now split into 6502 / 65816 parts.

Also, updated the formatter to output all decimal values as unsigned.
Most assemblers were fine with negative values, but 64tass .dword
insists on positive.  Rather than make the opcode conditional on the
value's range, we now just always output unsigned decimal, which
all current assemblers accept.
2020-06-08 17:47:26 -07:00

86 lines
1.8 KiB
ArmAsm

;Project file was edited to force ASCII formatting for some operands.
org $1000
lda $01
lda $0102
lda $fe
lda $feff
lda 1
lda 258
lda 254
lda 65279
lda 1
lda 258
lda 254
lda 65279
lda %00000001
lda %0000000100000010
lda %11111110
lda %1111111011111111
jmp skipdata
dfb $01
dw $0201
adr $030201
adrl $04030201
dfb 1
dw 513
adr 197121
adrl 67305985
dfb 1
dw 513
adr 197121
adrl 67305985
dfb %00000001
dw %0000001000000001
adr %000000110000001000000001
adrl %00000100000000110000001000000001
dfb 255
dw 65279
adr 16645887
adrl 4244504319
skipdata lda #'h'
lda 'h'
lda: 'h'
lda #$1f
lda #' '
lda #'"'
lda #$27
lda #'~'
lda #$7f
lda #$80
lda #$9f
lda #" "
lda #$a2
lda #"'"
lda #"~"
lda #$ff
jmp L10A4
more_ascii dfb 'h'
dfb $80
dw $6868
dfb $80
dw skipdata
adr skipdata
ddb skipdata
dfb <more_ascii
dfb >more_ascii
dw more_ascii
adr more_ascii
adrl more_ascii
ddb more_ascii
dfb '['
dfb $7b
dfb '|'
dfb $7d
dfb ','
dfb "["
dfb $fb
dfb "|"
dfb $fd
dfb ","
L10A4 rts