add roundtrip disasm tests for all cpus
This commit is contained in:
381
test/dasm/45GS02-disass.s
Normal file
381
test/dasm/45GS02-disass.s
Normal file
@@ -0,0 +1,381 @@
|
|||||||
|
.setcpu "45GS02"
|
||||||
|
|
||||||
|
ZP = $12
|
||||||
|
ABS = $1234
|
||||||
|
|
||||||
|
brk
|
||||||
|
ora ($05,x)
|
||||||
|
cle
|
||||||
|
see
|
||||||
|
tsb $02
|
||||||
|
ora $02
|
||||||
|
asl $02
|
||||||
|
rmb0 $02
|
||||||
|
php
|
||||||
|
ora #$01
|
||||||
|
asl
|
||||||
|
tsy
|
||||||
|
tsb $1234
|
||||||
|
ora $1234
|
||||||
|
asl $1234
|
||||||
|
bbr0 $02, L0
|
||||||
|
L0:
|
||||||
|
bpl L0
|
||||||
|
ora ($06),y
|
||||||
|
ora ($07),z
|
||||||
|
lbpl *+$3133 ; bpl *+$3133
|
||||||
|
trb $02
|
||||||
|
ora $03,x
|
||||||
|
asl $03,x
|
||||||
|
rmb1 $02
|
||||||
|
clc
|
||||||
|
ora $1456,y
|
||||||
|
inc
|
||||||
|
inz
|
||||||
|
trb $1234
|
||||||
|
ora $1345,x
|
||||||
|
asl $1345,x
|
||||||
|
bbr1 $02,L1
|
||||||
|
L1:
|
||||||
|
jsr $1234
|
||||||
|
and ($05,x)
|
||||||
|
jsr ($2345)
|
||||||
|
jsr ($2456,x)
|
||||||
|
bit $02
|
||||||
|
and $02
|
||||||
|
rol $02
|
||||||
|
rmb2 $02
|
||||||
|
plp
|
||||||
|
and #$01
|
||||||
|
rol
|
||||||
|
tys
|
||||||
|
bit $1234
|
||||||
|
and $1234
|
||||||
|
rol $1234
|
||||||
|
bbr2 $02,L2
|
||||||
|
L2:
|
||||||
|
bmi L2
|
||||||
|
and ($06),y
|
||||||
|
and ($07),z
|
||||||
|
lbmi *+$3133 ; bmi *+$3133
|
||||||
|
bit $03,x
|
||||||
|
and $03,x
|
||||||
|
rol $03,x
|
||||||
|
rmb3 $02
|
||||||
|
sec
|
||||||
|
and $1456,y
|
||||||
|
dec
|
||||||
|
dez
|
||||||
|
bit $1345,x
|
||||||
|
and $1345,x
|
||||||
|
rol $1345,x
|
||||||
|
bbr3 $02,L3
|
||||||
|
L3:
|
||||||
|
rti
|
||||||
|
eor ($05,x)
|
||||||
|
neg
|
||||||
|
asr
|
||||||
|
asr $02
|
||||||
|
eor $02
|
||||||
|
lsr $02
|
||||||
|
rmb4 $02
|
||||||
|
pha
|
||||||
|
eor #$01
|
||||||
|
lsr
|
||||||
|
taz
|
||||||
|
jmp $1234
|
||||||
|
eor $1234
|
||||||
|
lsr $1234
|
||||||
|
bbr4 $02,L4
|
||||||
|
L4:
|
||||||
|
bvc L4
|
||||||
|
eor ($06),y
|
||||||
|
eor ($07),z
|
||||||
|
lbvc *+$3133 ; bvc *+$3133
|
||||||
|
asr $03,x
|
||||||
|
eor $03,x
|
||||||
|
lsr $03,x
|
||||||
|
rmb5 $02
|
||||||
|
cli
|
||||||
|
eor $1456,y
|
||||||
|
phy
|
||||||
|
tab
|
||||||
|
map
|
||||||
|
eor $1345,x
|
||||||
|
lsr $1345,x
|
||||||
|
bbr5 $02,L5
|
||||||
|
L5:
|
||||||
|
rts
|
||||||
|
adc ($05,x)
|
||||||
|
rtn #$09
|
||||||
|
bsr *+$3133
|
||||||
|
stz $02
|
||||||
|
adc $02
|
||||||
|
ror $02
|
||||||
|
rmb6 $02
|
||||||
|
pla
|
||||||
|
adc #$01
|
||||||
|
ror
|
||||||
|
tza
|
||||||
|
jmp ($2345)
|
||||||
|
adc $1234
|
||||||
|
ror $1234
|
||||||
|
bbr6 $02,L6
|
||||||
|
L6:
|
||||||
|
bvs L6
|
||||||
|
adc ($06),y
|
||||||
|
adc ($07),z
|
||||||
|
lbvs *+$3133 ; bvs *+$3133
|
||||||
|
stz $03,x
|
||||||
|
adc $03,x
|
||||||
|
ror $03,x
|
||||||
|
rmb7 $02
|
||||||
|
sei
|
||||||
|
adc $1456,y
|
||||||
|
ply
|
||||||
|
tba
|
||||||
|
jmp ($2456,x)
|
||||||
|
adc $1345,x
|
||||||
|
ror $1345,x
|
||||||
|
bbr7 $02,L7
|
||||||
|
L7:
|
||||||
|
bra L7
|
||||||
|
sta ($05,x)
|
||||||
|
sta ($0f,s),y
|
||||||
|
sta ($0f,sp),y
|
||||||
|
lbra *+$3133 ; bra *+$3133
|
||||||
|
sty $02
|
||||||
|
sta $02
|
||||||
|
stx $02
|
||||||
|
smb0 $02
|
||||||
|
dey
|
||||||
|
bit #$01
|
||||||
|
txa
|
||||||
|
sty $1345,x
|
||||||
|
sty $1234
|
||||||
|
sta $1234
|
||||||
|
stx $1234
|
||||||
|
bbs0 $02,L8
|
||||||
|
L8:
|
||||||
|
bcc L8
|
||||||
|
sta ($06),y
|
||||||
|
sta ($07),z
|
||||||
|
lbcc *+$3133 ; bcc *+$3133
|
||||||
|
sty $03,x
|
||||||
|
sta $03,x
|
||||||
|
stx $04,y
|
||||||
|
smb1 $02
|
||||||
|
tya
|
||||||
|
sta $1456,y
|
||||||
|
txs
|
||||||
|
stx $1456,y
|
||||||
|
stz $1234
|
||||||
|
sta $1345,x
|
||||||
|
stz $1345,x
|
||||||
|
bbs1 $02,L9
|
||||||
|
L9:
|
||||||
|
ldy #$01
|
||||||
|
lda ($05,x)
|
||||||
|
ldx #$01
|
||||||
|
ldz #$01
|
||||||
|
ldy $02
|
||||||
|
lda $02
|
||||||
|
ldx $02
|
||||||
|
smb2 $02
|
||||||
|
tay
|
||||||
|
lda #$01
|
||||||
|
tax
|
||||||
|
ldz $1234
|
||||||
|
ldy $1234
|
||||||
|
lda $1234
|
||||||
|
ldx $1234
|
||||||
|
bbs2 $02,L10
|
||||||
|
L10:
|
||||||
|
bcs L10
|
||||||
|
lda ($06),y
|
||||||
|
lda ($07),z
|
||||||
|
lbcs *+$3133 ; bcs *+$3133
|
||||||
|
ldy $03,x
|
||||||
|
lda $03,x
|
||||||
|
ldx $04,y
|
||||||
|
smb3 $02
|
||||||
|
clv
|
||||||
|
lda $1456,y
|
||||||
|
tsx
|
||||||
|
ldz $1345,x
|
||||||
|
ldy $1345,x
|
||||||
|
lda $1345,x
|
||||||
|
ldx $1456,y
|
||||||
|
bbs3 $02,L11
|
||||||
|
L11:
|
||||||
|
cpy #$01
|
||||||
|
cmp ($05,x)
|
||||||
|
cpz #$01
|
||||||
|
dew $02
|
||||||
|
cpy $02
|
||||||
|
cmp $02
|
||||||
|
dec $02
|
||||||
|
smb4 $02
|
||||||
|
iny
|
||||||
|
cmp #$01
|
||||||
|
dex
|
||||||
|
asw $1234
|
||||||
|
cpy $1234
|
||||||
|
cmp $1234
|
||||||
|
dec $1234
|
||||||
|
bbs4 $02,L12
|
||||||
|
L12:
|
||||||
|
bne L12
|
||||||
|
cmp ($06),y
|
||||||
|
cmp ($07),z
|
||||||
|
lbne *+$3133 ; bne *+$3133
|
||||||
|
cpz $02
|
||||||
|
cmp $03,x
|
||||||
|
dec $03,x
|
||||||
|
smb5 $02
|
||||||
|
cld
|
||||||
|
cmp $1456,y
|
||||||
|
phx
|
||||||
|
phz
|
||||||
|
cpz $1234
|
||||||
|
cmp $1345,x
|
||||||
|
dec $1345,x
|
||||||
|
bbs5 $02,L13
|
||||||
|
L13:
|
||||||
|
cpx #$01
|
||||||
|
sbc ($05,x)
|
||||||
|
lda ($0f,s),y
|
||||||
|
lda ($0f,sp),y
|
||||||
|
inw $02
|
||||||
|
cpx $02
|
||||||
|
sbc $02
|
||||||
|
inc $02
|
||||||
|
smb6 $02
|
||||||
|
inx
|
||||||
|
sbc #$01
|
||||||
|
eom
|
||||||
|
nop
|
||||||
|
row $1234
|
||||||
|
cpx $1234
|
||||||
|
sbc $1234
|
||||||
|
inc $1234
|
||||||
|
bbs6 $02,L14
|
||||||
|
L14:
|
||||||
|
beq L14
|
||||||
|
sbc ($06),y
|
||||||
|
sbc ($07),z
|
||||||
|
lbeq *+$3133 ; beq *+$3133
|
||||||
|
phd #$089a
|
||||||
|
phw #$089a
|
||||||
|
sbc $03,x
|
||||||
|
inc $03,x
|
||||||
|
smb7 $02
|
||||||
|
sed
|
||||||
|
sbc $1456,y
|
||||||
|
plx
|
||||||
|
plz
|
||||||
|
phd $1234
|
||||||
|
phw $1234
|
||||||
|
sbc $1345,x
|
||||||
|
inc $1345,x
|
||||||
|
bbs7 $02,L15
|
||||||
|
L15:
|
||||||
|
|
||||||
|
adc [$12],z
|
||||||
|
|
||||||
|
adcq $12
|
||||||
|
adcq $3456
|
||||||
|
adcq ($78)
|
||||||
|
adcq [$9a]
|
||||||
|
|
||||||
|
and [$12],z
|
||||||
|
|
||||||
|
andq $12
|
||||||
|
andq $3456
|
||||||
|
andq ($78)
|
||||||
|
andq [$9a]
|
||||||
|
|
||||||
|
aslq $12
|
||||||
|
aslq
|
||||||
|
aslq $3456
|
||||||
|
aslq $78,x
|
||||||
|
aslq $9abc,x
|
||||||
|
|
||||||
|
asrq
|
||||||
|
asrq $12
|
||||||
|
asrq $34,x
|
||||||
|
|
||||||
|
bitq $12
|
||||||
|
bitq $3456
|
||||||
|
|
||||||
|
cmp [$12],z
|
||||||
|
|
||||||
|
cmpq $12
|
||||||
|
cmpq $3456
|
||||||
|
cmpq ($78)
|
||||||
|
cmpq [$9a]
|
||||||
|
|
||||||
|
deq
|
||||||
|
deq $12
|
||||||
|
deq $3456
|
||||||
|
deq $78,x
|
||||||
|
deq $9abc,x
|
||||||
|
|
||||||
|
eor [$12],z
|
||||||
|
|
||||||
|
eorq $12
|
||||||
|
eorq $3456
|
||||||
|
eorq ($78)
|
||||||
|
eorq [$9a]
|
||||||
|
|
||||||
|
inq
|
||||||
|
inq $12
|
||||||
|
inq $3456
|
||||||
|
inq $78,x
|
||||||
|
inq $9abc,x
|
||||||
|
|
||||||
|
lda [$12],z
|
||||||
|
|
||||||
|
ldq $12
|
||||||
|
ldq $3456
|
||||||
|
ldq ($78),z
|
||||||
|
ldq [$9a],z
|
||||||
|
|
||||||
|
lsrq $12
|
||||||
|
lsrq
|
||||||
|
lsrq $3456
|
||||||
|
lsrq $78,x
|
||||||
|
lsrq $9abc,x
|
||||||
|
|
||||||
|
ora [$12],z
|
||||||
|
|
||||||
|
orq $12
|
||||||
|
orq $3456
|
||||||
|
orq ($78)
|
||||||
|
orq [$9a]
|
||||||
|
|
||||||
|
rolq $12
|
||||||
|
rolq
|
||||||
|
rolq $3456
|
||||||
|
rolq $78,x
|
||||||
|
rolq $9abc,x
|
||||||
|
|
||||||
|
rorq $12
|
||||||
|
rorq
|
||||||
|
rorq $3456
|
||||||
|
rorq $78,x
|
||||||
|
rorq $9abc,x
|
||||||
|
|
||||||
|
sbc [$12],z
|
||||||
|
|
||||||
|
sbcq $12
|
||||||
|
sbcq $3456
|
||||||
|
sbcq ($78)
|
||||||
|
sbcq [$9a]
|
||||||
|
|
||||||
|
sta [$12],z ; EA 92 12
|
||||||
|
|
||||||
|
stq $12
|
||||||
|
stq $3456
|
||||||
|
stq ($78)
|
||||||
|
stq [$9a]
|
||||||
8
test/dasm/6502-disass.s
Normal file
8
test/dasm/6502-disass.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
.setcpu "6502"
|
||||||
|
|
||||||
|
.repeat 256, cnt
|
||||||
|
|
||||||
|
.byte 0 + cnt, $02, $ea, $00
|
||||||
|
|
||||||
|
.endrepeat
|
||||||
188
test/dasm/6502DTV-disass.s
Normal file
188
test/dasm/6502DTV-disass.s
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
.setcpu "6502DTV"
|
||||||
|
|
||||||
|
brk
|
||||||
|
ora ($12,x)
|
||||||
|
nop $12
|
||||||
|
ora $12
|
||||||
|
asl $12
|
||||||
|
php
|
||||||
|
ora #$12
|
||||||
|
asl a
|
||||||
|
anc #$12
|
||||||
|
nop $3456
|
||||||
|
ora $3456
|
||||||
|
asl $3456
|
||||||
|
bpl *+2
|
||||||
|
ora ($12),y
|
||||||
|
bra *+2
|
||||||
|
nop $12,x
|
||||||
|
ora $12,x
|
||||||
|
asl $12,x
|
||||||
|
clc
|
||||||
|
ora $3456,y
|
||||||
|
nop $3456,x
|
||||||
|
ora $3456,x
|
||||||
|
asl $3456,x
|
||||||
|
jsr $3456
|
||||||
|
and ($12,x)
|
||||||
|
rla ($12,x)
|
||||||
|
bit $12
|
||||||
|
and $12
|
||||||
|
rol $12
|
||||||
|
rla $12
|
||||||
|
plp
|
||||||
|
and #$12
|
||||||
|
rol a
|
||||||
|
bit $3456
|
||||||
|
and $3456
|
||||||
|
rol $3456
|
||||||
|
rla $3456
|
||||||
|
bmi *+2
|
||||||
|
and ($12),y
|
||||||
|
sac #$12
|
||||||
|
rla ($12),y
|
||||||
|
and $12,x
|
||||||
|
rol $12,x
|
||||||
|
rla $12,x
|
||||||
|
sec
|
||||||
|
and $3456,y
|
||||||
|
rla $3456,y
|
||||||
|
and $3456,x
|
||||||
|
rol $3456,x
|
||||||
|
rla $3456,x
|
||||||
|
rti
|
||||||
|
eor ($12,x)
|
||||||
|
sir #$12
|
||||||
|
eor $12
|
||||||
|
lsr $12
|
||||||
|
pha
|
||||||
|
eor #$12
|
||||||
|
lsr a
|
||||||
|
alr #$12
|
||||||
|
jmp $3456
|
||||||
|
eor $3456
|
||||||
|
lsr $3456
|
||||||
|
bvc *+2
|
||||||
|
eor ($12),y
|
||||||
|
eor $12,x
|
||||||
|
lsr $12,x
|
||||||
|
cli
|
||||||
|
eor $3456,x
|
||||||
|
lsr $3456,x
|
||||||
|
rts
|
||||||
|
adc ($12,x)
|
||||||
|
rra ($12,x)
|
||||||
|
adc $12
|
||||||
|
ror $12
|
||||||
|
rra $12
|
||||||
|
pla
|
||||||
|
adc #$12
|
||||||
|
ror a
|
||||||
|
arr #$12
|
||||||
|
jmp ($3456)
|
||||||
|
adc $3456
|
||||||
|
ror $3456
|
||||||
|
rra $3456
|
||||||
|
bvs *+2
|
||||||
|
adc ($12),y
|
||||||
|
rra ($12),y
|
||||||
|
adc $12,x
|
||||||
|
ror $12,x
|
||||||
|
rra $12,x
|
||||||
|
sei
|
||||||
|
adc $3456,y
|
||||||
|
rra $3456,y
|
||||||
|
adc $3456,x
|
||||||
|
ror $3456,x
|
||||||
|
rra $3456,x
|
||||||
|
nop #$12
|
||||||
|
sta ($12,x)
|
||||||
|
sty $12
|
||||||
|
sta $12
|
||||||
|
stx $12
|
||||||
|
dey
|
||||||
|
txa
|
||||||
|
sty $3456
|
||||||
|
sta $3456
|
||||||
|
stx $3456
|
||||||
|
bcc *+2
|
||||||
|
sta ($12),y
|
||||||
|
sty $12,x
|
||||||
|
sta $12,x
|
||||||
|
stx $12,y
|
||||||
|
tya
|
||||||
|
sta $3456,y
|
||||||
|
txs
|
||||||
|
shy $3456,x
|
||||||
|
sta $3456,x
|
||||||
|
shx $3456,y
|
||||||
|
ldy #$12
|
||||||
|
lda ($12,x)
|
||||||
|
ldx #$12
|
||||||
|
lax ($12,x)
|
||||||
|
ldy $12
|
||||||
|
lda $12
|
||||||
|
ldx $12
|
||||||
|
lax $12
|
||||||
|
tay
|
||||||
|
lda #$12
|
||||||
|
tax
|
||||||
|
lax #$12
|
||||||
|
ldy $3456
|
||||||
|
lda $3456
|
||||||
|
ldx $3456
|
||||||
|
lax $3456
|
||||||
|
bcs *+2
|
||||||
|
lda ($12),y
|
||||||
|
lax ($12),y
|
||||||
|
ldy $12,x
|
||||||
|
lda $12,x
|
||||||
|
ldx $12,y
|
||||||
|
lax $12,y
|
||||||
|
clv
|
||||||
|
lda $3456,y
|
||||||
|
tsx
|
||||||
|
las $3456,y
|
||||||
|
ldy $3456,x
|
||||||
|
lda $3456,x
|
||||||
|
ldx $3456,y
|
||||||
|
lax $3456,y
|
||||||
|
cpy #$12
|
||||||
|
cmp ($12,x)
|
||||||
|
cpy $12
|
||||||
|
cmp $12
|
||||||
|
dec $12
|
||||||
|
iny
|
||||||
|
cmp #$12
|
||||||
|
dex
|
||||||
|
axs #$12
|
||||||
|
cpy $3456
|
||||||
|
cmp $3456
|
||||||
|
dec $3456
|
||||||
|
bne *+2
|
||||||
|
cmp ($12),y
|
||||||
|
cmp $12,x
|
||||||
|
dec $12,x
|
||||||
|
cld
|
||||||
|
cmp $3456,y
|
||||||
|
cmp $3456,x
|
||||||
|
dec $3456,x
|
||||||
|
cpx #$12
|
||||||
|
sbc ($12,x)
|
||||||
|
cpx $12
|
||||||
|
sbc $12
|
||||||
|
inc $12
|
||||||
|
inx
|
||||||
|
sbc #$12
|
||||||
|
nop
|
||||||
|
cpx $3456
|
||||||
|
sbc $3456
|
||||||
|
inc $3456
|
||||||
|
beq *+2
|
||||||
|
sbc ($12),y
|
||||||
|
sbc $12,x
|
||||||
|
inc $12,x
|
||||||
|
sed
|
||||||
|
sbc $3456,y
|
||||||
|
sbc $3456,x
|
||||||
|
inc $3456,x
|
||||||
30
test/dasm/6502X-disass.s
Normal file
30
test/dasm/6502X-disass.s
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
.setcpu "6502X"
|
||||||
|
|
||||||
|
.repeat 256, cnt
|
||||||
|
|
||||||
|
; generate a pattern with all opcodes. however, for the full cycle to work,
|
||||||
|
; we must take care of the "duplicate" opcodes, ie use only the favourite one.
|
||||||
|
.if ((cnt & $0f) = $02)
|
||||||
|
.byte $02 ; all JAM
|
||||||
|
.elseif ((cnt & $1f) = $1a)
|
||||||
|
.byte $ea ; all NOP
|
||||||
|
.elseif (cnt = $2b)
|
||||||
|
.byte $0b ; both ANC #imm
|
||||||
|
.elseif (cnt = $89)
|
||||||
|
.byte $80 ; both NOP #imm
|
||||||
|
.elseif (cnt = $eb)
|
||||||
|
.byte $e9 ; both SBC #imm
|
||||||
|
.elseif (cnt = $34) || (cnt = $54) || (cnt = $74) || (cnt = $d4) || (cnt = $f4)
|
||||||
|
.byte $14 ; all NOP zp, x
|
||||||
|
.elseif (cnt = $3c) || (cnt = $5c) || (cnt = $7c) || (cnt = $dc) || (cnt = $fc)
|
||||||
|
.byte $1c ; all NOP abs, x
|
||||||
|
.elseif (cnt = $44) || (cnt = $64)
|
||||||
|
.byte $04 ; all NOP zp
|
||||||
|
.else
|
||||||
|
.byte cnt
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.byte $02, $ea, $00
|
||||||
|
|
||||||
|
.endrepeat
|
||||||
214
test/dasm/65C02-disass.s
Normal file
214
test/dasm/65C02-disass.s
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
.setcpu "65C02"
|
||||||
|
|
||||||
|
brk
|
||||||
|
ora ($12,x)
|
||||||
|
tsb $12
|
||||||
|
ora $12
|
||||||
|
asl $12
|
||||||
|
rmb0 $12
|
||||||
|
php
|
||||||
|
ora #$12
|
||||||
|
asl a
|
||||||
|
tsb $3456
|
||||||
|
ora $3456
|
||||||
|
asl $3456
|
||||||
|
bbr0 $12,*+2
|
||||||
|
bpl *+2
|
||||||
|
ora ($12),y
|
||||||
|
ora ($12)
|
||||||
|
trb $12
|
||||||
|
ora $12,x
|
||||||
|
asl $12,x
|
||||||
|
rmb1 $12
|
||||||
|
clc
|
||||||
|
ora $3456,y
|
||||||
|
inc a
|
||||||
|
trb $3456
|
||||||
|
ora $3456,x
|
||||||
|
asl $3456,x
|
||||||
|
bbr1 $12,*+2
|
||||||
|
jsr $3456
|
||||||
|
and ($12,x)
|
||||||
|
bit $12
|
||||||
|
and $12
|
||||||
|
rol $12
|
||||||
|
rmb2 $12
|
||||||
|
plp
|
||||||
|
and #$12
|
||||||
|
rol a
|
||||||
|
bit $3456
|
||||||
|
and $3456
|
||||||
|
rol $3456
|
||||||
|
bbr2 $12,*+2
|
||||||
|
bmi *+2
|
||||||
|
and ($12),y
|
||||||
|
and ($12)
|
||||||
|
bit $12,x
|
||||||
|
and $12,x
|
||||||
|
rol $12,x
|
||||||
|
rmb3 $12
|
||||||
|
sec
|
||||||
|
and $3456,y
|
||||||
|
dec a
|
||||||
|
bit $3456,x
|
||||||
|
and $3456,x
|
||||||
|
rol $3456,x
|
||||||
|
bbr3 $12,*+2
|
||||||
|
rti
|
||||||
|
eor ($12,x)
|
||||||
|
eor $12
|
||||||
|
lsr $12
|
||||||
|
rmb4 $12
|
||||||
|
pha
|
||||||
|
eor #$12
|
||||||
|
lsr a
|
||||||
|
jmp $3456
|
||||||
|
eor $3456
|
||||||
|
lsr $3456
|
||||||
|
bbr4 $12,*+2
|
||||||
|
bvc *+2
|
||||||
|
eor ($12),y
|
||||||
|
eor ($12)
|
||||||
|
eor $12,x
|
||||||
|
lsr $12,x
|
||||||
|
rmb5 $12
|
||||||
|
cli
|
||||||
|
eor $3456,y
|
||||||
|
phy
|
||||||
|
eor $3456,x
|
||||||
|
lsr $3456,x
|
||||||
|
bbr5 $12,*+2
|
||||||
|
rts
|
||||||
|
adc ($12,x)
|
||||||
|
stz $12
|
||||||
|
adc $12
|
||||||
|
ror $12
|
||||||
|
rmb6 $12
|
||||||
|
pla
|
||||||
|
adc #$12
|
||||||
|
ror a
|
||||||
|
jmp ($3456)
|
||||||
|
adc $3456
|
||||||
|
ror $3456
|
||||||
|
bbr6 $12,*+2
|
||||||
|
bvs *+2
|
||||||
|
adc ($12),y
|
||||||
|
adc ($12)
|
||||||
|
stz $12,x
|
||||||
|
adc $12,x
|
||||||
|
ror $12,x
|
||||||
|
rmb7 $12
|
||||||
|
sei
|
||||||
|
adc $3456,y
|
||||||
|
ply
|
||||||
|
jmp ($3456,x)
|
||||||
|
adc $3456,x
|
||||||
|
ror $3456,x
|
||||||
|
bbr7 $12,*+2
|
||||||
|
bra *+2
|
||||||
|
sta ($12,x)
|
||||||
|
sty $12
|
||||||
|
sta $12
|
||||||
|
stx $12
|
||||||
|
smb0 $12
|
||||||
|
dey
|
||||||
|
bit #$12
|
||||||
|
txa
|
||||||
|
sty $3456
|
||||||
|
sta $3456
|
||||||
|
stx $3456
|
||||||
|
bbs0 $12,*+2
|
||||||
|
bcc *+2
|
||||||
|
sta ($12),y
|
||||||
|
sta ($12)
|
||||||
|
sty $12,x
|
||||||
|
sta $12,x
|
||||||
|
stx $12,y
|
||||||
|
smb1 $12
|
||||||
|
tya
|
||||||
|
sta $3456,y
|
||||||
|
txs
|
||||||
|
stz $3456
|
||||||
|
sta $3456,x
|
||||||
|
stz $3456,x
|
||||||
|
bbs1 $12,*+2
|
||||||
|
ldy #$12
|
||||||
|
lda ($12,x)
|
||||||
|
ldx #$12
|
||||||
|
ldy $12
|
||||||
|
lda $12
|
||||||
|
ldx $12
|
||||||
|
smb2 $12
|
||||||
|
tay
|
||||||
|
lda #$12
|
||||||
|
tax
|
||||||
|
ldy $3456
|
||||||
|
lda $3456
|
||||||
|
ldx $3456
|
||||||
|
bbs2 $12,*+2
|
||||||
|
bcs *+2
|
||||||
|
lda ($12),y
|
||||||
|
lda ($12)
|
||||||
|
ldy $12,x
|
||||||
|
lda $12,x
|
||||||
|
ldx $12,y
|
||||||
|
smb3 $12
|
||||||
|
clv
|
||||||
|
lda $3456,y
|
||||||
|
tsx
|
||||||
|
ldy $3456,x
|
||||||
|
lda $3456,x
|
||||||
|
ldx $3456,y
|
||||||
|
bbs3 $12,*+2
|
||||||
|
cpy #$12
|
||||||
|
cmp ($12,x)
|
||||||
|
cpy $12
|
||||||
|
cmp $12
|
||||||
|
dec $12
|
||||||
|
smb4 $12
|
||||||
|
iny
|
||||||
|
cmp #$12
|
||||||
|
dex
|
||||||
|
cpy $3456
|
||||||
|
cmp $3456
|
||||||
|
dec $3456
|
||||||
|
bbs4 $12,*+2
|
||||||
|
bne *+2
|
||||||
|
cmp ($12),y
|
||||||
|
cmp ($12)
|
||||||
|
cmp $12,x
|
||||||
|
dec $12,x
|
||||||
|
smb5 $12
|
||||||
|
cld
|
||||||
|
cmp $3456,y
|
||||||
|
phx
|
||||||
|
cmp $3456,x
|
||||||
|
dec $3456,x
|
||||||
|
bbs5 $12,*+2
|
||||||
|
cpx #$12
|
||||||
|
sbc ($12,x)
|
||||||
|
cpx $12
|
||||||
|
sbc $12
|
||||||
|
inc $12
|
||||||
|
smb6 $12
|
||||||
|
inx
|
||||||
|
sbc #$12
|
||||||
|
nop
|
||||||
|
cpx $3456
|
||||||
|
sbc $3456
|
||||||
|
inc $3456
|
||||||
|
bbs6 $12,*+2
|
||||||
|
beq *+2
|
||||||
|
sbc ($12),y
|
||||||
|
sbc ($12)
|
||||||
|
sbc $12,x
|
||||||
|
inc $12,x
|
||||||
|
smb7 $12
|
||||||
|
sed
|
||||||
|
sbc $3456,y
|
||||||
|
plx
|
||||||
|
sbc $3456,x
|
||||||
|
inc $3456,x
|
||||||
|
L0:
|
||||||
|
bbs7 $12,L0
|
||||||
|
nop
|
||||||
181
test/dasm/65SC02-disass.s
Normal file
181
test/dasm/65SC02-disass.s
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
.setcpu "65SC02"
|
||||||
|
|
||||||
|
brk
|
||||||
|
ora ($12,x)
|
||||||
|
tsb $12
|
||||||
|
ora $12
|
||||||
|
asl $12
|
||||||
|
php
|
||||||
|
ora #$12
|
||||||
|
asl a
|
||||||
|
tsb $3456
|
||||||
|
ora $3456
|
||||||
|
asl $3456
|
||||||
|
bpl *+2
|
||||||
|
ora ($12),y
|
||||||
|
ora ($12)
|
||||||
|
trb $12
|
||||||
|
ora $12,x
|
||||||
|
asl $12,x
|
||||||
|
clc
|
||||||
|
ora $3456,y
|
||||||
|
inc a
|
||||||
|
trb $3456
|
||||||
|
ora $3456,x
|
||||||
|
asl $3456,x
|
||||||
|
jsr $3456
|
||||||
|
and ($12,x)
|
||||||
|
bit $12
|
||||||
|
and $12
|
||||||
|
rol $12
|
||||||
|
plp
|
||||||
|
and #$12
|
||||||
|
rol a
|
||||||
|
bit $3456
|
||||||
|
and $3456
|
||||||
|
rol $3456
|
||||||
|
bmi *+2
|
||||||
|
and ($12),y
|
||||||
|
and ($12)
|
||||||
|
bit $12,x
|
||||||
|
and $12,x
|
||||||
|
rol $12,x
|
||||||
|
sec
|
||||||
|
and $3456,y
|
||||||
|
dec a
|
||||||
|
bit $3456,x
|
||||||
|
and $3456,x
|
||||||
|
rol $3456,x
|
||||||
|
rti
|
||||||
|
eor ($12,x)
|
||||||
|
eor $12
|
||||||
|
lsr $12
|
||||||
|
pha
|
||||||
|
eor #$12
|
||||||
|
lsr a
|
||||||
|
jmp $3456
|
||||||
|
eor $3456
|
||||||
|
lsr $3456
|
||||||
|
bvc *+2
|
||||||
|
eor ($12),y
|
||||||
|
eor ($12)
|
||||||
|
eor $12,x
|
||||||
|
lsr $12,x
|
||||||
|
cli
|
||||||
|
eor $3456,y
|
||||||
|
phy
|
||||||
|
eor $3456,x
|
||||||
|
lsr $3456,x
|
||||||
|
rts
|
||||||
|
adc ($12,x)
|
||||||
|
stz $12
|
||||||
|
adc $12
|
||||||
|
ror $12
|
||||||
|
pla
|
||||||
|
adc #$12
|
||||||
|
ror a
|
||||||
|
jmp ($3456)
|
||||||
|
adc $3456
|
||||||
|
ror $3456
|
||||||
|
bvs *+2
|
||||||
|
adc ($12),y
|
||||||
|
adc ($12)
|
||||||
|
stz $12,x
|
||||||
|
adc $12,x
|
||||||
|
ror $12,x
|
||||||
|
sei
|
||||||
|
adc $3456,y
|
||||||
|
ply
|
||||||
|
jmp ($3456,x)
|
||||||
|
adc $3456,x
|
||||||
|
ror $3456,x
|
||||||
|
bra *+2
|
||||||
|
sta ($12,x)
|
||||||
|
sty $12
|
||||||
|
sta $12
|
||||||
|
stx $12
|
||||||
|
dey
|
||||||
|
bit #$12
|
||||||
|
txa
|
||||||
|
sty $3456
|
||||||
|
sta $3456
|
||||||
|
stx $3456
|
||||||
|
bcc *+2
|
||||||
|
sta ($12),y
|
||||||
|
sta ($12)
|
||||||
|
sty $12,x
|
||||||
|
sta $12,x
|
||||||
|
stx $12,y
|
||||||
|
tya
|
||||||
|
sta $3456,y
|
||||||
|
txs
|
||||||
|
stz $3456
|
||||||
|
sta $3456,x
|
||||||
|
stz $3456,x
|
||||||
|
ldy #$12
|
||||||
|
lda ($12,x)
|
||||||
|
ldx #$12
|
||||||
|
ldy $12
|
||||||
|
lda $12
|
||||||
|
ldx $12
|
||||||
|
tay
|
||||||
|
lda #$12
|
||||||
|
tax
|
||||||
|
ldy $3456
|
||||||
|
lda $3456
|
||||||
|
ldx $3456
|
||||||
|
bcs *+2
|
||||||
|
lda ($12),y
|
||||||
|
lda ($12)
|
||||||
|
ldy $12,x
|
||||||
|
lda $12,x
|
||||||
|
ldx $12,y
|
||||||
|
clv
|
||||||
|
lda $3456,y
|
||||||
|
tsx
|
||||||
|
ldy $3456,x
|
||||||
|
lda $3456,x
|
||||||
|
ldx $3456,y
|
||||||
|
cpy #$12
|
||||||
|
cmp ($12,x)
|
||||||
|
cpy $12
|
||||||
|
cmp $12
|
||||||
|
dec $12
|
||||||
|
iny
|
||||||
|
cmp #$12
|
||||||
|
dex
|
||||||
|
cpy $3456
|
||||||
|
cmp $3456
|
||||||
|
dec $3456
|
||||||
|
bne *+2
|
||||||
|
cmp ($12),y
|
||||||
|
cmp ($12)
|
||||||
|
cmp $12,x
|
||||||
|
dec $12,x
|
||||||
|
cld
|
||||||
|
cmp $3456,y
|
||||||
|
phx
|
||||||
|
cmp $3456,x
|
||||||
|
dec $3456,x
|
||||||
|
cpx #$12
|
||||||
|
sbc ($12,x)
|
||||||
|
cpx $12
|
||||||
|
sbc $12
|
||||||
|
inc $12
|
||||||
|
inx
|
||||||
|
sbc #$12
|
||||||
|
nop
|
||||||
|
cpx $3456
|
||||||
|
sbc $3456
|
||||||
|
inc $3456
|
||||||
|
beq *+2
|
||||||
|
sbc ($12),y
|
||||||
|
sbc ($12)
|
||||||
|
sbc $12,x
|
||||||
|
inc $12,x
|
||||||
|
sed
|
||||||
|
sbc $3456,y
|
||||||
|
plx
|
||||||
|
sbc $3456,x
|
||||||
|
inc $3456,x
|
||||||
|
|
||||||
250
test/dasm/huc6280-disass.s
Normal file
250
test/dasm/huc6280-disass.s
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
.setcpu "huc6280"
|
||||||
|
|
||||||
|
brk
|
||||||
|
ora ($12,x)
|
||||||
|
sxy
|
||||||
|
st0 #$12
|
||||||
|
tsb $12
|
||||||
|
ora $12
|
||||||
|
asl $12
|
||||||
|
rmb0 $12
|
||||||
|
php
|
||||||
|
ora #$12
|
||||||
|
asl a
|
||||||
|
tsb $3456
|
||||||
|
ora $3456
|
||||||
|
asl $3456
|
||||||
|
bbr0 $12,L0
|
||||||
|
L0:
|
||||||
|
bpl *+2
|
||||||
|
ora ($12),y
|
||||||
|
ora ($12)
|
||||||
|
st1 #$12
|
||||||
|
trb $12
|
||||||
|
ora $12,x
|
||||||
|
asl $12,x
|
||||||
|
rmb1 $12
|
||||||
|
clc
|
||||||
|
ora $3456,y
|
||||||
|
inc a
|
||||||
|
trb $3456
|
||||||
|
ora $3456,x
|
||||||
|
asl $3456,x
|
||||||
|
bbr1 $12,L1
|
||||||
|
L1:
|
||||||
|
jsr $3456
|
||||||
|
and ($12,x)
|
||||||
|
sax
|
||||||
|
st2 #$12
|
||||||
|
bit $12
|
||||||
|
and $12
|
||||||
|
rol $12
|
||||||
|
rmb2 $12
|
||||||
|
plp
|
||||||
|
and #$12
|
||||||
|
rol a
|
||||||
|
bit $3456
|
||||||
|
and $3456
|
||||||
|
rol $3456
|
||||||
|
bbr2 $12,L2
|
||||||
|
L2:
|
||||||
|
bmi *+2
|
||||||
|
and ($12),y
|
||||||
|
and ($12)
|
||||||
|
bit $12,x
|
||||||
|
and $12,x
|
||||||
|
rol $12,x
|
||||||
|
rmb3 $12
|
||||||
|
sec
|
||||||
|
and $3456,y
|
||||||
|
dec a
|
||||||
|
bit $3456,x
|
||||||
|
and $3456,x
|
||||||
|
rol $3456,x
|
||||||
|
bbr3 $12,L3
|
||||||
|
L3:
|
||||||
|
rti
|
||||||
|
eor ($12,x)
|
||||||
|
say
|
||||||
|
tma #$02
|
||||||
|
bsr *+2
|
||||||
|
eor $12
|
||||||
|
lsr $12
|
||||||
|
rmb4 $12
|
||||||
|
pha
|
||||||
|
eor #$12
|
||||||
|
lsr a
|
||||||
|
jmp $3456
|
||||||
|
eor $3456
|
||||||
|
lsr $3456
|
||||||
|
bbr4 $12,L4
|
||||||
|
L4:
|
||||||
|
bvc *+2
|
||||||
|
eor ($12),y
|
||||||
|
eor ($12)
|
||||||
|
tam #$12
|
||||||
|
csl
|
||||||
|
eor $12,x
|
||||||
|
lsr $12,x
|
||||||
|
rmb5 $12
|
||||||
|
cli
|
||||||
|
eor $3456,y
|
||||||
|
phy
|
||||||
|
eor $3456,x
|
||||||
|
lsr $3456,x
|
||||||
|
bbr5 $12,L5
|
||||||
|
L5:
|
||||||
|
rts
|
||||||
|
adc ($12,x)
|
||||||
|
cla
|
||||||
|
stz $12
|
||||||
|
adc $12
|
||||||
|
ror $12
|
||||||
|
rmb6 $12
|
||||||
|
pla
|
||||||
|
adc #$12
|
||||||
|
ror a
|
||||||
|
jmp ($3456)
|
||||||
|
adc $3456
|
||||||
|
ror $3456
|
||||||
|
bbr6 $12,L6
|
||||||
|
L6:
|
||||||
|
bvs *+2
|
||||||
|
adc ($12),y
|
||||||
|
adc ($12)
|
||||||
|
tii $3333,$7373,$1111
|
||||||
|
stz $12,x
|
||||||
|
adc $12,x
|
||||||
|
ror $12,x
|
||||||
|
rmb7 $12
|
||||||
|
sei
|
||||||
|
adc $3456,y
|
||||||
|
ply
|
||||||
|
jmp ($3456,x)
|
||||||
|
adc $3456,x
|
||||||
|
ror $3456,x
|
||||||
|
bbr7 $12,L7
|
||||||
|
L7:
|
||||||
|
bra *+2
|
||||||
|
sta ($12,x)
|
||||||
|
clx
|
||||||
|
tst #$12,$EA
|
||||||
|
sty $12
|
||||||
|
sta $12
|
||||||
|
stx $12
|
||||||
|
smb0 $12
|
||||||
|
dey
|
||||||
|
bit #$12
|
||||||
|
txa
|
||||||
|
sty $3456
|
||||||
|
sta $3456
|
||||||
|
stx $3456
|
||||||
|
bbs0 $12,LS0
|
||||||
|
LS0:
|
||||||
|
bcc *+2
|
||||||
|
sta ($12),y
|
||||||
|
sta ($12)
|
||||||
|
tst #$12,$EAEA
|
||||||
|
sty $12,x
|
||||||
|
sta $12,x
|
||||||
|
stx $12,y
|
||||||
|
smb1 $12
|
||||||
|
tya
|
||||||
|
sta $3456,y
|
||||||
|
txs
|
||||||
|
stz $3456
|
||||||
|
sta $3456,x
|
||||||
|
stz $3456,x
|
||||||
|
bbs1 $12,LS1
|
||||||
|
LS1:
|
||||||
|
ldy #$12
|
||||||
|
lda ($12,x)
|
||||||
|
ldx #$12
|
||||||
|
tst #$12,$EA,x
|
||||||
|
ldy $12
|
||||||
|
lda $12
|
||||||
|
ldx $12
|
||||||
|
smb2 $12
|
||||||
|
tay
|
||||||
|
lda #$12
|
||||||
|
tax
|
||||||
|
ldy $3456
|
||||||
|
lda $3456
|
||||||
|
ldx $3456
|
||||||
|
bbs2 $12,LS2
|
||||||
|
LS2:
|
||||||
|
bcs *+2
|
||||||
|
lda ($12),y
|
||||||
|
lda ($12)
|
||||||
|
tst #$12,$EAEA,x
|
||||||
|
ldy $12,x
|
||||||
|
lda $12,x
|
||||||
|
ldx $12,y
|
||||||
|
smb3 $12
|
||||||
|
clv
|
||||||
|
lda $3456,y
|
||||||
|
tsx
|
||||||
|
ldy $3456,x
|
||||||
|
lda $3456,x
|
||||||
|
ldx $3456,y
|
||||||
|
bbs3 $12,LS3
|
||||||
|
LS3:
|
||||||
|
cpy #$12
|
||||||
|
cmp ($12,x)
|
||||||
|
cly
|
||||||
|
tdd $3333,$C3C3,$1111
|
||||||
|
cpy $12
|
||||||
|
cmp $12
|
||||||
|
dec $12
|
||||||
|
smb4 $12
|
||||||
|
iny
|
||||||
|
cmp #$12
|
||||||
|
dex
|
||||||
|
cpy $3456
|
||||||
|
cmp $3456
|
||||||
|
dec $3456
|
||||||
|
bbs4 $12,LS4
|
||||||
|
LS4:
|
||||||
|
bne *+2
|
||||||
|
cmp ($12),y
|
||||||
|
cmp ($12)
|
||||||
|
tin $3333,$D3D3,$1111
|
||||||
|
cmp $12,x
|
||||||
|
dec $12,x
|
||||||
|
smb5 $12
|
||||||
|
cld
|
||||||
|
cmp $3456,y
|
||||||
|
phx
|
||||||
|
cmp $3456,x
|
||||||
|
dec $3456,x
|
||||||
|
bbs5 $12,LS5
|
||||||
|
LS5:
|
||||||
|
cpx #$12
|
||||||
|
sbc ($12,x)
|
||||||
|
tia $3333,$E3E3,$1111
|
||||||
|
cpx $12
|
||||||
|
sbc $12
|
||||||
|
inc $12
|
||||||
|
smb6 $12
|
||||||
|
inx
|
||||||
|
sbc #$12
|
||||||
|
nop
|
||||||
|
cpx $3456
|
||||||
|
sbc $3456
|
||||||
|
inc $3456
|
||||||
|
bbs6 $12,LS6
|
||||||
|
LS6:
|
||||||
|
beq *+2
|
||||||
|
sbc ($12),y
|
||||||
|
sbc ($12)
|
||||||
|
tai $3333,$F3F3,$1111
|
||||||
|
sbc $12,x
|
||||||
|
inc $12,x
|
||||||
|
smb7 $12
|
||||||
|
sed
|
||||||
|
sbc $3456,y
|
||||||
|
plx
|
||||||
|
sbc $3456,x
|
||||||
|
inc $3456,x
|
||||||
|
LS7:
|
||||||
|
bbs7 $12,LS7
|
||||||
8
test/dasm/m740-disass.s
Normal file
8
test/dasm/m740-disass.s
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
.setcpu "M740"
|
||||||
|
|
||||||
|
.repeat 256, cnt
|
||||||
|
|
||||||
|
.byte 0 + cnt, $12, $02, $ea
|
||||||
|
|
||||||
|
.endrepeat
|
||||||
9
test/dasm/readme.txt
Normal file
9
test/dasm/readme.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
Per CPU, a test binary is produced (using the assembler), which should contain
|
||||||
|
all possible instructions. That file is then disassembled, and assembled again,
|
||||||
|
and finally the resulting binary compared with the binary produced in the first
|
||||||
|
step.
|
||||||
|
|
||||||
|
Given that we assume the assembler works (this is tested in other/previous
|
||||||
|
tests), this proves that the disassembler works, and can produce output that the
|
||||||
|
assembler will understand - and produce an identical binary from.
|
||||||
Reference in New Issue
Block a user