mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-11 13:50:13 +00:00
b43fd07688
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.
86 lines
1.8 KiB
ArmAsm
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
|
|
|