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