Shortened test subdir names.
This commit is contained in:
BIN
test/asm/4510-cpudetect.ref
Normal file
BIN
test/asm/4510-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/4510-opcodes.ref
Normal file
BIN
test/asm/4510-opcodes.ref
Normal file
Binary file not shown.
278
test/asm/4510-opcodes.s
Normal file
278
test/asm/4510-opcodes.s
Normal file
@@ -0,0 +1,278 @@
|
||||
.setcpu "4510"
|
||||
|
||||
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,*+$34
|
||||
|
||||
bpl *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
bmi *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
bvc *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
bvs *+$32
|
||||
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,*+$34
|
||||
|
||||
bra *+$32
|
||||
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,*+$34
|
||||
|
||||
bcc *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
bcs *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
bne *+$32
|
||||
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,*+$34
|
||||
|
||||
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,*+$34
|
||||
|
||||
beq *+$32
|
||||
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,*+$34
|
||||
BIN
test/asm/6502-cpudetect.ref
Normal file
BIN
test/asm/6502-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/6502-opcodes.ref
Normal file
BIN
test/asm/6502-opcodes.ref
Normal file
Binary file not shown.
257
test/asm/6502-opcodes.s
Normal file
257
test/asm/6502-opcodes.s
Normal file
@@ -0,0 +1,257 @@
|
||||
.setcpu "6502"
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
.byte $02
|
||||
.byte $03
|
||||
.byte $04
|
||||
ora $12
|
||||
asl $12
|
||||
.byte $07
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
.byte $0B
|
||||
.byte $0C
|
||||
ora $3456
|
||||
asl $3456
|
||||
.byte $0F
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
.byte $12
|
||||
.byte $13
|
||||
.byte $14
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
.byte $17
|
||||
clc
|
||||
ora $3456,y
|
||||
.byte $1A
|
||||
.byte $1B
|
||||
.byte $1C
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
.byte $1F
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
.byte $22
|
||||
.byte $23
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
.byte $27
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2B
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
.byte $2F
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
.byte $32
|
||||
.byte $33
|
||||
.byte $34
|
||||
and $12,x
|
||||
rol $12,x
|
||||
.byte $37
|
||||
sec
|
||||
and $3456,y
|
||||
.byte $3A
|
||||
.byte $3B
|
||||
.byte $3C
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
.byte $3F
|
||||
rti
|
||||
eor ($12,x)
|
||||
.byte $42
|
||||
.byte $43
|
||||
.byte $44
|
||||
eor $12
|
||||
lsr $12
|
||||
.byte $47
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
.byte $4B
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
.byte $4F
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
.byte $52
|
||||
.byte $53
|
||||
.byte $54
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
.byte $57
|
||||
cli
|
||||
eor $3456,y
|
||||
.byte $5A
|
||||
.byte $5B
|
||||
.byte $5C
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
.byte $5F
|
||||
rts
|
||||
adc ($12,x)
|
||||
.byte $62
|
||||
.byte $63
|
||||
.byte $64
|
||||
adc $12
|
||||
ror $12
|
||||
.byte $67
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
.byte $6B
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
.byte $6F
|
||||
bvs *+122
|
||||
adc ($12),y
|
||||
.byte $72
|
||||
.byte $73
|
||||
.byte $74
|
||||
adc $12,x
|
||||
ror $12,x
|
||||
.byte $77
|
||||
sei
|
||||
adc $3456,y
|
||||
.byte $7A
|
||||
.byte $7B
|
||||
.byte $7C
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
.byte $7F
|
||||
.byte $80
|
||||
sta ($12,x)
|
||||
.byte $82
|
||||
.byte $83
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
.byte $87
|
||||
dey
|
||||
.byte $89
|
||||
txa
|
||||
.byte $8B
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
.byte $8F
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
.byte $92
|
||||
.byte $93
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
.byte $97
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
.byte $9B
|
||||
.byte $9C
|
||||
sta $3456,x
|
||||
.byte $9E
|
||||
.byte $9F
|
||||
ldy #$12
|
||||
lda ($12,x)
|
||||
ldx #$12
|
||||
.byte $A3
|
||||
ldy $12
|
||||
lda $12
|
||||
ldx $12
|
||||
.byte $A7
|
||||
tay
|
||||
lda #$12
|
||||
tax
|
||||
.byte $AB
|
||||
ldy $3456
|
||||
lda $3456
|
||||
ldx $3456
|
||||
.byte $AF
|
||||
bcs *+122
|
||||
lda ($12),y
|
||||
.byte $B2
|
||||
.byte $B3
|
||||
ldy $12,x
|
||||
lda $12,x
|
||||
ldx $12,y
|
||||
.byte $B7
|
||||
clv
|
||||
lda $3456,y
|
||||
tsx
|
||||
.byte $BB
|
||||
ldy $3456,x
|
||||
lda $3456,x
|
||||
ldx $3456,y
|
||||
.byte $BF
|
||||
cpy #$12
|
||||
cmp ($12,x)
|
||||
.byte $C2
|
||||
.byte $C3
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
.byte $C7
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
.byte $CB
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
.byte $CF
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
.byte $D2
|
||||
.byte $D3
|
||||
.byte $D4
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
.byte $D7
|
||||
cld
|
||||
cmp $3456,y
|
||||
.byte $DA
|
||||
.byte $DB
|
||||
.byte $DC
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
.byte $DF
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $E2
|
||||
.byte $E3
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
.byte $E7
|
||||
inx
|
||||
sbc #$12
|
||||
.byte $EB
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
.byte $EF
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
.byte $F2
|
||||
.byte $F3
|
||||
.byte $F4
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
.byte $F7
|
||||
sed
|
||||
sbc $3456,y
|
||||
.byte $FA
|
||||
.byte $FB
|
||||
.byte $FC
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
.byte $FF
|
||||
BIN
test/asm/6502x-cpudetect.ref
Normal file
BIN
test/asm/6502x-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/6502x-opcodes.ref
Normal file
BIN
test/asm/6502x-opcodes.ref
Normal file
Binary file not shown.
258
test/asm/6502x-opcodes.s
Normal file
258
test/asm/6502x-opcodes.s
Normal file
@@ -0,0 +1,258 @@
|
||||
.setcpu "6502X"
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
jam
|
||||
slo ($12,x)
|
||||
nop $12
|
||||
ora $12
|
||||
asl $12
|
||||
slo $12
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
anc #$12
|
||||
nop $3456
|
||||
ora $3456
|
||||
asl $3456
|
||||
slo $3456
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
.byte $12 ; jam
|
||||
slo ($12),y
|
||||
nop $12,x
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
slo $12,x
|
||||
clc
|
||||
ora $3456,y
|
||||
.byte $1a ; nop
|
||||
slo $3456,y
|
||||
nop $3456,x
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
slo $3456,x
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
.byte $22 ; jam
|
||||
rla ($12,x)
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
rla $12
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2b ; anc #$12
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
rla $3456
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
.byte $32 ; jam
|
||||
rla ($12),y
|
||||
.byte $34,$12 ; nop $12,x
|
||||
and $12,x
|
||||
rol $12,x
|
||||
rla $12,x
|
||||
sec
|
||||
and $3456,y
|
||||
.byte $3a ; nop
|
||||
rla $3456,y
|
||||
.byte $3c,$56,$34 ; nop $3456,x
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
rla $3456,x
|
||||
rti
|
||||
eor ($12,x)
|
||||
.byte $42 ; jam
|
||||
sre ($12,x)
|
||||
.byte $44,$12 ; nop $12
|
||||
eor $12
|
||||
lsr $12
|
||||
sre $12
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
alr #$12
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
sre $3456
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
.byte $52 ; jam
|
||||
sre ($12),y
|
||||
.byte $54,$12 ; nop $12,x
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
sre $12,x
|
||||
cli
|
||||
eor $3456,y
|
||||
.byte $5a ; nop
|
||||
sre $3456,y
|
||||
nop $3456,x
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
sre $3456,x
|
||||
rts
|
||||
adc ($12,x)
|
||||
.byte $62 ; jam
|
||||
rra ($12,x)
|
||||
.byte $64,$12 ; nop $12
|
||||
adc $12
|
||||
ror $12
|
||||
rra $12
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
arr #$12
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
rra $3456
|
||||
bvs *+122
|
||||
adc ($12),y
|
||||
.byte $72 ; jam
|
||||
rra ($12),y
|
||||
.byte $74,$12 ; nop $12,x
|
||||
adc $12,x
|
||||
ror $12,x
|
||||
rra $12,x
|
||||
sei
|
||||
adc $3456,y
|
||||
.byte $7a ; nop
|
||||
rra $3456,y
|
||||
.byte $7c,$56,$34 ; nop $3456,x
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
rra $3456,x
|
||||
nop #$12
|
||||
sta ($12,x)
|
||||
.byte $82,$12 ; nop #$12
|
||||
sax ($12,x)
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
sax $12
|
||||
dey
|
||||
.byte $89,$12 ; nop #$12
|
||||
txa
|
||||
.byte $8b,$12 ; xaa #$12
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
sax $3456
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
.byte $92 ; jam
|
||||
.byte $93,$12 ; ahx ($12),y
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
sax $12,y
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
tas $3456,y
|
||||
shy $3456,x
|
||||
sta $3456,x
|
||||
shx $3456,y
|
||||
.byte $9f,$56,$34 ; ahx $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 *+122
|
||||
lda ($12),y
|
||||
.byte $b2 ; jam
|
||||
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)
|
||||
.byte $c2,$12 ; nop #$12
|
||||
dcp ($12,x)
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
dcp $12
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
axs #$12
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
dcp $3456
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
.byte $d2 ; jam
|
||||
dcp ($12),y
|
||||
.byte $d4,$12 ; nop $12,x
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
dcp $12,x
|
||||
cld
|
||||
cmp $3456,y
|
||||
.byte $da ; nop
|
||||
dcp $3456,y
|
||||
.byte $dc,$56,$34 ; nop $3456,x
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
dcp $3456,x
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $e2,$12 ; nop #$12
|
||||
isc ($12,x)
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
isc $12
|
||||
inx
|
||||
sbc #$12
|
||||
nop
|
||||
.byte $eb ; nop
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
isc $3456
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
.byte $f2 ; jam
|
||||
isc ($12),y
|
||||
.byte $f4,$12 ; nop $12,x
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
isc $12,x
|
||||
sed
|
||||
sbc $3456,y
|
||||
.byte $fa ; nop
|
||||
isc $3456,y
|
||||
.byte $fc,$56,$34 ; nop $3456,x
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
isc $3456,x
|
||||
BIN
test/asm/65816-cpudetect.ref
Normal file
BIN
test/asm/65816-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/65c02-cpudetect.ref
Normal file
BIN
test/asm/65c02-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/65c02-opcodes.ref
Normal file
BIN
test/asm/65c02-opcodes.ref
Normal file
Binary file not shown.
258
test/asm/65c02-opcodes.s
Normal file
258
test/asm/65c02-opcodes.s
Normal file
@@ -0,0 +1,258 @@
|
||||
.setcpu "65C02"
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
.byte $02
|
||||
.byte $03
|
||||
tsb $12
|
||||
ora $12
|
||||
asl $12
|
||||
rmb0 $12
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
.byte $0B
|
||||
tsb $3456
|
||||
ora $3456
|
||||
asl $3456
|
||||
bbr0 $12,*+122
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
ora ($12)
|
||||
.byte $13
|
||||
trb $12
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
rmb1 $12
|
||||
clc
|
||||
ora $3456,y
|
||||
inc a
|
||||
.byte $1B
|
||||
trb $3456
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
bbr1 $12,*+122
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
.byte $22
|
||||
.byte $23
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
rmb2 $12
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2B
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
bbr2 $12,*+122
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
and ($12)
|
||||
.byte $33
|
||||
bit $12,x
|
||||
and $12,x
|
||||
rol $12,x
|
||||
rmb3 $12
|
||||
sec
|
||||
and $3456,y
|
||||
dec a
|
||||
.byte $3B
|
||||
bit $3456,x
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
bbr3 $12,*+122
|
||||
rti
|
||||
eor ($12,x)
|
||||
.byte $42
|
||||
.byte $43
|
||||
.byte $44
|
||||
eor $12
|
||||
lsr $12
|
||||
rmb4 $12
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
.byte $4B
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
bbr4 $12,*+122
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
eor ($12)
|
||||
.byte $53
|
||||
.byte $54
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
rmb5 $12
|
||||
cli
|
||||
eor $3456,y
|
||||
phy
|
||||
.byte $5B
|
||||
.byte $5C
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
bbr5 $12,*+122
|
||||
rts
|
||||
adc ($12,x)
|
||||
.byte $62
|
||||
.byte $63
|
||||
stz $12
|
||||
adc $12
|
||||
ror $12
|
||||
rmb6 $12
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
.byte $6B
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
bbr6 $12,*+122
|
||||
bvs *+122
|
||||
adc ($12),y
|
||||
adc ($12)
|
||||
.byte $73
|
||||
stz $12,x
|
||||
adc $12,x
|
||||
ror $12,x
|
||||
rmb7 $12
|
||||
sei
|
||||
adc $3456,y
|
||||
ply
|
||||
.byte $7B
|
||||
jmp ($3456,x)
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
bbr7 $12,*+122
|
||||
bra *+122
|
||||
sta ($12,x)
|
||||
.byte $82
|
||||
.byte $83
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
smb0 $12
|
||||
dey
|
||||
bit #$12
|
||||
txa
|
||||
.byte $8B
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
bbs0 $12,*+122
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
sta ($12)
|
||||
.byte $93
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
smb1 $12
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
.byte $9B
|
||||
stz $3456
|
||||
sta $3456,x
|
||||
stz $3456,x
|
||||
bbs1 $12,*+122
|
||||
ldy #$12
|
||||
lda ($12,x)
|
||||
ldx #$12
|
||||
.byte $A3
|
||||
ldy $12
|
||||
lda $12
|
||||
ldx $12
|
||||
smb2 $12
|
||||
tay
|
||||
lda #$12
|
||||
tax
|
||||
.byte $AB
|
||||
ldy $3456
|
||||
lda $3456
|
||||
ldx $3456
|
||||
bbs2 $12,*+122
|
||||
bcs *+122
|
||||
lda ($12),y
|
||||
lda ($12)
|
||||
.byte $B3
|
||||
ldy $12,x
|
||||
lda $12,x
|
||||
ldx $12,y
|
||||
smb3 $12
|
||||
clv
|
||||
lda $3456,y
|
||||
tsx
|
||||
.byte $BB
|
||||
ldy $3456,x
|
||||
lda $3456,x
|
||||
ldx $3456,y
|
||||
bbs3 $12,*+122
|
||||
cpy #$12
|
||||
cmp ($12,x)
|
||||
.byte $C2
|
||||
.byte $C3
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
smb4 $12
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
.byte $CB
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
bbs4 $12,*+122
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
cmp ($12)
|
||||
.byte $D3
|
||||
.byte $D4
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
smb5 $12
|
||||
cld
|
||||
cmp $3456,y
|
||||
phx
|
||||
.byte $DB
|
||||
.byte $DC
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
bbs5 $12,*+122
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $E2
|
||||
.byte $E3
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
smb6 $12
|
||||
inx
|
||||
sbc #$12
|
||||
nop
|
||||
.byte $EB
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
bbs6 $12,*+122
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
sbc ($12)
|
||||
.byte $F3
|
||||
.byte $F4
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
smb7 $12
|
||||
sed
|
||||
sbc $3456,y
|
||||
plx
|
||||
.byte $FB
|
||||
.byte $FC
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
bbs7 $12,*+122
|
||||
BIN
test/asm/65sc02-cpudetect.ref
Normal file
BIN
test/asm/65sc02-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/65sc02-opcodes.ref
Normal file
BIN
test/asm/65sc02-opcodes.ref
Normal file
Binary file not shown.
258
test/asm/65sc02-opcodes.s
Normal file
258
test/asm/65sc02-opcodes.s
Normal file
@@ -0,0 +1,258 @@
|
||||
.setcpu "65SC02"
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
.byte $02
|
||||
.byte $03
|
||||
tsb $12
|
||||
ora $12
|
||||
asl $12
|
||||
.byte $07
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
.byte $0B
|
||||
tsb $3456
|
||||
ora $3456
|
||||
asl $3456
|
||||
.byte $0F
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
ora ($12)
|
||||
.byte $13
|
||||
trb $12
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
.byte $17
|
||||
clc
|
||||
ora $3456,y
|
||||
inc a
|
||||
.byte $1B
|
||||
trb $3456
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
.byte $1F
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
.byte $22
|
||||
.byte $23
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
.byte $27
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2B
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
.byte $2F
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
and ($12)
|
||||
.byte $33
|
||||
bit $12,x
|
||||
and $12,x
|
||||
rol $12,x
|
||||
.byte $37
|
||||
sec
|
||||
and $3456,y
|
||||
dec a
|
||||
.byte $3B
|
||||
bit $3456,x
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
.byte $3F
|
||||
rti
|
||||
eor ($12,x)
|
||||
.byte $42
|
||||
.byte $43
|
||||
.byte $44
|
||||
eor $12
|
||||
lsr $12
|
||||
.byte $47
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
.byte $4B
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
.byte $4F
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
eor ($12)
|
||||
.byte $53
|
||||
.byte $54
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
.byte $57
|
||||
cli
|
||||
eor $3456,y
|
||||
phy
|
||||
.byte $5B
|
||||
.byte $5C
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
.byte $5F
|
||||
rts
|
||||
adc ($12,x)
|
||||
.byte $62
|
||||
.byte $63
|
||||
stz $12
|
||||
adc $12
|
||||
ror $12
|
||||
.byte $67
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
.byte $6B
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
.byte $6F
|
||||
bvs *+122
|
||||
adc ($12),y
|
||||
adc ($12)
|
||||
.byte $73
|
||||
stz $12,x
|
||||
adc $12,x
|
||||
ror $12,x
|
||||
.byte $77
|
||||
sei
|
||||
adc $3456,y
|
||||
ply
|
||||
.byte $7B
|
||||
jmp ($3456,x)
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
.byte $7F
|
||||
bra *+122
|
||||
sta ($12,x)
|
||||
.byte $82
|
||||
.byte $83
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
.byte $87
|
||||
dey
|
||||
bit #$12
|
||||
txa
|
||||
.byte $8B
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
.byte $8F
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
sta ($12)
|
||||
.byte $93
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
.byte $97
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
.byte $9B
|
||||
stz $3456
|
||||
sta $3456,x
|
||||
stz $3456,x
|
||||
.byte $9F
|
||||
ldy #$12
|
||||
lda ($12,x)
|
||||
ldx #$12
|
||||
.byte $A3
|
||||
ldy $12
|
||||
lda $12
|
||||
ldx $12
|
||||
.byte $A7
|
||||
tay
|
||||
lda #$12
|
||||
tax
|
||||
.byte $AB
|
||||
ldy $3456
|
||||
lda $3456
|
||||
ldx $3456
|
||||
.byte $AF
|
||||
bcs *+122
|
||||
lda ($12),y
|
||||
lda ($12)
|
||||
.byte $B3
|
||||
ldy $12,x
|
||||
lda $12,x
|
||||
ldx $12,y
|
||||
.byte $B7
|
||||
clv
|
||||
lda $3456,y
|
||||
tsx
|
||||
.byte $BB
|
||||
ldy $3456,x
|
||||
lda $3456,x
|
||||
ldx $3456,y
|
||||
.byte $BF
|
||||
cpy #$12
|
||||
cmp ($12,x)
|
||||
.byte $C2
|
||||
.byte $C3
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
.byte $C7
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
.byte $CB
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
.byte $CF
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
cmp ($12)
|
||||
.byte $D3
|
||||
.byte $D4
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
.byte $D7
|
||||
cld
|
||||
cmp $3456,y
|
||||
phx
|
||||
.byte $DB
|
||||
.byte $DC
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
.byte $DF
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $E2
|
||||
.byte $E3
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
.byte $E7
|
||||
inx
|
||||
sbc #$12
|
||||
nop
|
||||
.byte $EB
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
.byte $EF
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
sbc ($12)
|
||||
.byte $F3
|
||||
.byte $F4
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
.byte $F7
|
||||
sed
|
||||
sbc $3456,y
|
||||
plx
|
||||
.byte $FB
|
||||
.byte $FC
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
.byte $FF
|
||||
68
test/asm/Makefile
Normal file
68
test/asm/Makefile
Normal file
@@ -0,0 +1,68 @@
|
||||
# Makefile for the assembler regression tests
|
||||
|
||||
ifneq ($(shell echo),)
|
||||
CMD_EXE = 1
|
||||
endif
|
||||
|
||||
ifdef CMD_EXE
|
||||
EXE = .exe
|
||||
MKDIR = mkdir $(subst /,\,$1)
|
||||
RMDIR = -rmdir /s /q $(subst /,\,$1)
|
||||
DEL = del /f $(subst /,\,$1)
|
||||
else
|
||||
EXE =
|
||||
MKDIR = mkdir -p $1
|
||||
RMDIR = $(RM) -r $1
|
||||
DEL = $(RM) $1
|
||||
endif
|
||||
|
||||
CL65 := $(if $(wildcard ../../bin/cl65*),../../bin/cl65,cl65)
|
||||
|
||||
WORKDIR = ../../testwrk/asm
|
||||
|
||||
DIFF = $(WORKDIR)/bdiff$(EXE)
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -O2
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
OPCODE_REFS := $(wildcard *-opcodes.ref)
|
||||
OPCODE_CPUS = $(foreach ref,$(OPCODE_REFS),$(ref:%-opcodes.ref=%))
|
||||
OPCODE_BINS = $(foreach cpu,$(OPCODE_CPUS),$(WORKDIR)/$(cpu)-opcodes.bin)
|
||||
|
||||
CPUDETECT_REFS := $(wildcard *-cpudetect.ref)
|
||||
CPUDETECT_CPUS = $(foreach ref,$(CPUDETECT_REFS),$(ref:%-cpudetect.ref=%))
|
||||
CPUDETECT_BINS = $(foreach cpu,$(CPUDETECT_CPUS),$(WORKDIR)/$(cpu)-cpudetect.bin)
|
||||
|
||||
all: $(OPCODE_BINS) $(CPUDETECT_BINS)
|
||||
|
||||
$(WORKDIR):
|
||||
$(call MKDIR,$(WORKDIR))
|
||||
|
||||
$(DIFF): ../bdiff.c | $(WORKDIR)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
define OPCODE_template
|
||||
|
||||
$(WORKDIR)/$1-opcodes.bin: $1-opcodes.s $(DIFF)
|
||||
$(CL65) --cpu $1 -t none -l $(WORKDIR)/$1-opcodes.lst -o $$@ $$<
|
||||
$(DIFF) $$@ $1-opcodes.ref
|
||||
|
||||
endef # OPCODE_template
|
||||
|
||||
$(foreach cpu,$(OPCODE_CPUS),$(eval $(call OPCODE_template,$(cpu))))
|
||||
|
||||
define CPUDETECT_template
|
||||
|
||||
$(WORKDIR)/$1-cpudetect.bin: cpudetect.s $(DIFF)
|
||||
$(CL65) --cpu $1 -t none -l $(WORKDIR)/$1-cpudetect.lst -o $$@ $$<
|
||||
$(DIFF) $$@ $1-cpudetect.ref
|
||||
|
||||
endef # CPUDETECT_template
|
||||
|
||||
$(foreach cpu,$(CPUDETECT_CPUS),$(eval $(call CPUDETECT_template,$(cpu))))
|
||||
|
||||
clean:
|
||||
@$(call RMDIR,$(WORKDIR))
|
||||
@$(call DEL,$(OPCODE_REFS:.ref=.o) cpudetect.o)
|
||||
48
test/asm/README
Normal file
48
test/asm/README
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
Assembler Testcases
|
||||
===================
|
||||
|
||||
Opcode Tests:
|
||||
-------------
|
||||
|
||||
These testcases are inspired by the ones now removed from test/assembler.
|
||||
The main purpose is to have each possible opcode generated at least once,
|
||||
either by an assembly instruction or a ".byte"-placeholder. Typically
|
||||
generated by disassembling a binary dump that contains data in the form
|
||||
of the pattern that each opcode is stated once in order followed by easy
|
||||
to recognise:
|
||||
|
||||
00 00 EA 00
|
||||
01 00 EA 00
|
||||
02 00 EA 00
|
||||
[...]
|
||||
fe 00 EA 00
|
||||
ff 00 EA 00
|
||||
|
||||
The disassembly is then put in a better readable form by replacing the
|
||||
leftover dummy opcode parameters with something more recognizable.
|
||||
|
||||
The testcases for 6502, 6502x, 65sc02, 65c02, 4510, and huc6280 have been
|
||||
put together by Sven Oliver ("SvOlli") Moll, as well as a template for the
|
||||
m740 instructions set.
|
||||
|
||||
Still to do is to find a way to implement an opcode testcase for the 65816
|
||||
processor, since it's capable of executing instructions with an 8-bit and
|
||||
a 16-bit operator alike, only distinguished by one processor flag.
|
||||
|
||||
|
||||
CPU detect Tests
|
||||
----------------
|
||||
|
||||
These tests all assemble the same file "cpudetect.s" which contains several
|
||||
conditionals for several CPUs, only using every option known to the "--cpu"
|
||||
commandline switch of ca65/cl65.
|
||||
|
||||
|
||||
Reference (".ref") Files
|
||||
------------------------
|
||||
|
||||
A hint on creating these files: when running the test, it will fail due to
|
||||
the missing ".ref" file. Review the output of the ".lst" very pedantic, then
|
||||
copy the ".bin" to the ".ref" file.
|
||||
|
||||
66
test/asm/cpudetect.s
Normal file
66
test/asm/cpudetect.s
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
.macpack cpu
|
||||
|
||||
; step 1: try to assemble an instruction that's exclusive to this set
|
||||
; (when possible)
|
||||
|
||||
.ifp02
|
||||
lda #$ea
|
||||
.endif
|
||||
|
||||
.ifpsc02
|
||||
jmp ($1234,x)
|
||||
.endif
|
||||
|
||||
.ifpc02
|
||||
rmb0 $12
|
||||
.endif
|
||||
|
||||
.ifp816
|
||||
xba
|
||||
.endif
|
||||
|
||||
.ifp4510
|
||||
taz
|
||||
.endif
|
||||
|
||||
|
||||
; step 2: check for bitwise compatibility of instructions sets
|
||||
; (made verbose for better reading with hexdump/hd(1))
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_NONE)
|
||||
.byte 0,"CPU_ISET_NONE"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_6502)
|
||||
.byte 0,"CPU_ISET_6502"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_6502X)
|
||||
.byte 0,"CPU_ISET_6502X"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_65SC02)
|
||||
.byte 0,"CPU_ISET_65SC02"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_65C02)
|
||||
.byte 0,"CPU_ISET_65C02"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_65816)
|
||||
.byte 0,"CPU_ISET_65816"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_SWEET16)
|
||||
.byte 0,"CPU_ISET_SWEET16"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_HUC6280)
|
||||
.byte 0,"CPU_ISET_HUC6280"
|
||||
.endif
|
||||
|
||||
.if (.cpu .bitand CPU_ISET_4510)
|
||||
.byte 0,"CPU_ISET_4510"
|
||||
.endif
|
||||
|
||||
BIN
test/asm/huc6280-cpudetect.ref
Normal file
BIN
test/asm/huc6280-cpudetect.ref
Normal file
Binary file not shown.
BIN
test/asm/huc6280-opcodes.ref
Normal file
BIN
test/asm/huc6280-opcodes.ref
Normal file
Binary file not shown.
258
test/asm/huc6280-opcodes.s
Normal file
258
test/asm/huc6280-opcodes.s
Normal file
@@ -0,0 +1,258 @@
|
||||
.setcpu "huc6280"
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
sxy
|
||||
st0 #$12
|
||||
tsb $12
|
||||
ora $12
|
||||
asl $12
|
||||
rmb0 $12
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
.byte $0B
|
||||
tsb $3456
|
||||
ora $3456
|
||||
asl $3456
|
||||
bbr0 $12,*+122
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
ora ($12)
|
||||
st1 #$12
|
||||
trb $12
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
rmb1 $12
|
||||
clc
|
||||
ora $3456,y
|
||||
inc a
|
||||
.byte $1B
|
||||
trb $3456
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
bbr1 $12,*+122
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
sax
|
||||
st2 #$12
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
rmb2 $12
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2B
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
bbr2 $12,*+122
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
and ($12)
|
||||
.byte $33
|
||||
bit $12,x
|
||||
and $12,x
|
||||
rol $12,x
|
||||
rmb3 $12
|
||||
sec
|
||||
and $3456,y
|
||||
dec a
|
||||
.byte $3B
|
||||
bit $3456,x
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
bbr3 $12,*+122
|
||||
rti
|
||||
eor ($12,x)
|
||||
say
|
||||
tma #$02
|
||||
bsr *+122
|
||||
eor $12
|
||||
lsr $12
|
||||
rmb4 $12
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
.byte $4B
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
bbr4 $12,*+122
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
eor ($12)
|
||||
tam #$12
|
||||
csl
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
rmb5 $12
|
||||
cli
|
||||
eor $3456,y
|
||||
phy
|
||||
.byte $5B
|
||||
.byte $5C
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
bbr5 $12,*+122
|
||||
rts
|
||||
adc ($12,x)
|
||||
cla
|
||||
.byte $63
|
||||
stz $12
|
||||
adc $12
|
||||
ror $12
|
||||
rmb6 $12
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
.byte $6B
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
bbr6 $12,*+122
|
||||
bvs *+122
|
||||
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
|
||||
.byte $7B
|
||||
jmp ($3456,x)
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
bbr7 $12,*+122
|
||||
bra *+122
|
||||
sta ($12,x)
|
||||
clx
|
||||
tst #$12,$EA
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
smb0 $12
|
||||
dey
|
||||
bit #$12
|
||||
txa
|
||||
.byte $8B
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
bbs0 $12,*+122
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
sta ($12)
|
||||
tst #$12,$EAEA
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
smb1 $12
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
.byte $9B
|
||||
stz $3456
|
||||
sta $3456,x
|
||||
stz $3456,x
|
||||
bbs1 $12,*+122
|
||||
ldy #$12
|
||||
lda ($12,x)
|
||||
ldx #$12
|
||||
tst #$12,$EA,x
|
||||
ldy $12
|
||||
lda $12
|
||||
ldx $12
|
||||
smb2 $12
|
||||
tay
|
||||
lda #$12
|
||||
tax
|
||||
.byte $AB
|
||||
ldy $3456
|
||||
lda $3456
|
||||
ldx $3456
|
||||
bbs2 $12,*+122
|
||||
bcs *+122
|
||||
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
|
||||
.byte $BB
|
||||
ldy $3456,x
|
||||
lda $3456,x
|
||||
ldx $3456,y
|
||||
bbs3 $12,*+122
|
||||
cpy #$12
|
||||
cmp ($12,x)
|
||||
cly
|
||||
tdd $3333,$C3C3,$1111
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
smb4 $12
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
.byte $CB
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
bbs4 $12,*+122
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
cmp ($12)
|
||||
tin $3333,$D3D3,$1111
|
||||
.byte $D4
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
smb5 $12
|
||||
cld
|
||||
cmp $3456,y
|
||||
phx
|
||||
.byte $DB
|
||||
.byte $DC
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
bbs5 $12,*+122
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $E2
|
||||
tia $3333,$E3E3,$1111
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
smb6 $12
|
||||
inx
|
||||
sbc #$12
|
||||
nop
|
||||
.byte $EB
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
bbs6 $12,*+122
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
sbc ($12)
|
||||
tai $3333,$F3F3,$1111
|
||||
.byte $F4
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
smb7 $12
|
||||
sed
|
||||
sbc $3456,y
|
||||
plx
|
||||
.byte $FB
|
||||
.byte $FC
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
bbs7 $12,*+122
|
||||
260
test/asm/m740-opcodes.s
Normal file
260
test/asm/m740-opcodes.s
Normal file
@@ -0,0 +1,260 @@
|
||||
.setcpu "65C02"
|
||||
; copy of 65c02, comments note changes to the m740 according to
|
||||
; http://documentation.renesas.com/doc/products/mpumcu/rej09b0322_740sm.pdf
|
||||
|
||||
brk
|
||||
ora ($12,x)
|
||||
.byte $02,$00,$00 ; jsr zp,ind
|
||||
.byte $03,$00,$00 ; bbs 0,a
|
||||
tsb $12 ; .byte $04
|
||||
ora $12
|
||||
asl $12
|
||||
rmb0 $12 ; bbs 0,zp
|
||||
php
|
||||
ora #$12
|
||||
asl a
|
||||
.byte $0B,$00,$00 ; seb 0,a
|
||||
tsb $3456 ; .byte $0c
|
||||
ora $3456
|
||||
asl $3456
|
||||
bbr0 $12,*+122 ; seb 0,zp
|
||||
bpl *+122
|
||||
ora ($12),y
|
||||
ora ($12) ; clt
|
||||
.byte $13,$00,$00 ; bbc 0,a
|
||||
trb $12 ; .byte $14
|
||||
ora $12,x
|
||||
asl $12,x
|
||||
rmb1 $12 ; bbc 0,zp
|
||||
clc
|
||||
ora $3456,y
|
||||
inc a
|
||||
.byte $1B,$00,$00 ; clb 0,a
|
||||
trb $3456 ; .byte $1c
|
||||
ora $3456,x
|
||||
asl $3456,x
|
||||
bbr1 $12,*+122 ; clb 0,zp
|
||||
jsr $3456
|
||||
and ($12,x)
|
||||
.byte $22,$00,$00 ; jsr sp
|
||||
.byte $23,$00,$00 ; bbs 1,a
|
||||
bit $12
|
||||
and $12
|
||||
rol $12
|
||||
rmb2 $12 ; bbs 1,zp
|
||||
plp
|
||||
and #$12
|
||||
rol a
|
||||
.byte $2B,$00,$00 ; seb 1,a
|
||||
bit $3456
|
||||
and $3456
|
||||
rol $3456
|
||||
bbr2 $12,*+122 ; seb 1,zp
|
||||
bmi *+122
|
||||
and ($12),y
|
||||
and ($12) ; set
|
||||
.byte $33,$00,$00 ; bbc 1,a
|
||||
bit $12,x ; .byte $34
|
||||
and $12,x
|
||||
rol $12,x
|
||||
rmb3 $12 ; bbc 1,zp
|
||||
sec
|
||||
and $3456,y
|
||||
dec a
|
||||
.byte $3B,$00,$00 ; clb 1,a
|
||||
bit $3456,x ; ldm zp
|
||||
and $3456,x
|
||||
rol $3456,x
|
||||
bbr3 $12,*+122 ; clb 1,zp
|
||||
rti
|
||||
eor ($12,x)
|
||||
.byte $42,$00,$00 ; stp
|
||||
.byte $43,$00,$00 ; bbs 2,a
|
||||
.byte $44,$00,$00 ; com zp
|
||||
eor $12
|
||||
lsr $12
|
||||
rmb4 $12 ; bbs 2,zp
|
||||
pha
|
||||
eor #$12
|
||||
lsr a
|
||||
.byte $4B,$00,$00 ; seb 2,a
|
||||
jmp $3456
|
||||
eor $3456
|
||||
lsr $3456
|
||||
bbr4 $12,*+122 ; seb 2,zp
|
||||
bvc *+122
|
||||
eor ($12),y
|
||||
eor ($12) ; .byte $52
|
||||
.byte $53,$00,$00 ; bbc 2,a
|
||||
.byte $54,$00,$00
|
||||
eor $12,x
|
||||
lsr $12,x
|
||||
rmb5 $12 ; bbc 2,zp
|
||||
cli
|
||||
eor $3456,y
|
||||
phy
|
||||
.byte $5B,$00,$00 ; clb 2,a
|
||||
.byte $5C,$00,$00
|
||||
eor $3456,x
|
||||
lsr $3456,x
|
||||
bbr5 $12,*+122 ; clb 2,zp
|
||||
rts
|
||||
adc ($12,x)
|
||||
.byte $62,$00,$00 ; mul zp,x
|
||||
.byte $63,$00,$00 ; bbs 3,a
|
||||
stz $12 ; tst zp
|
||||
adc $12
|
||||
ror $12
|
||||
rmb6 $12 ; bbs 3,zp
|
||||
pla
|
||||
adc #$12
|
||||
ror a
|
||||
.byte $6B,$00,$00 ; seb 3,a
|
||||
jmp ($3456)
|
||||
adc $3456
|
||||
ror $3456
|
||||
bbr6 $12,*+122 ; seb 3,zp
|
||||
bvs *+122
|
||||
adc ($12),y
|
||||
adc ($12) ; .byte $72
|
||||
.byte $73,$00,$00 ; bbc 3,a
|
||||
stz $12,x ; .byte $74
|
||||
adc $12,x
|
||||
ror $12,x
|
||||
rmb7 $12 ; bbc 3,zp
|
||||
sei
|
||||
adc $3456,y
|
||||
ply
|
||||
.byte $7B,$00,$00 ; clb 3,a
|
||||
jmp ($3456,x) ; .byte $7c
|
||||
adc $3456,x
|
||||
ror $3456,x
|
||||
bbr7 $12,*+122 ; clb 3,zp
|
||||
bra *+122
|
||||
sta ($12,x)
|
||||
.byte $82,$00,$00 ; rrf zp
|
||||
.byte $83,$00,$00 ; bbs 4,a
|
||||
sty $12
|
||||
sta $12
|
||||
stx $12
|
||||
smb0 $12 ; bbs 4,zp
|
||||
dey
|
||||
bit #$12
|
||||
txa
|
||||
.byte $8B,$00,$00 ; seb 4,a
|
||||
sty $3456
|
||||
sta $3456
|
||||
stx $3456
|
||||
bbs0 $12,*+122 ; seb 4,zp
|
||||
bcc *+122
|
||||
sta ($12),y
|
||||
sta ($12) ; .byte $92
|
||||
.byte $93,$00,$00 ; bbc 4,a
|
||||
sty $12,x
|
||||
sta $12,x
|
||||
stx $12,y
|
||||
smb1 $12 ; bbc 4,zp
|
||||
tya
|
||||
sta $3456,y
|
||||
txs
|
||||
.byte $9B,$00,$00 ; clb 4,a
|
||||
stz $3456 ; .byte $9c
|
||||
sta $3456,x
|
||||
stz $3456,x ; .byte $9e
|
||||
bbs1 $12,*+122 ; clb 4,zp
|
||||
ldy #$12
|
||||
lda ($12,x)
|
||||
ldx #$12
|
||||
.byte $A3,$00,$00 ; bbs 5,a
|
||||
ldy $12
|
||||
lda $12
|
||||
ldx $12
|
||||
smb2 $12 ; bbs 5,zp
|
||||
tay
|
||||
lda #$12
|
||||
tax
|
||||
.byte $AB,$00,$00 ; seb 5,a
|
||||
ldy $3456
|
||||
lda $3456
|
||||
ldx $3456
|
||||
bbs2 $12,*+122 ; seb 5,zp
|
||||
bcs *+122
|
||||
lda ($12),y
|
||||
lda ($12) ; .byte $b2
|
||||
.byte $B3,$00,$00 ; bbc 5,a
|
||||
ldy $12,x
|
||||
lda $12,x
|
||||
ldx $12,y
|
||||
smb3 $12 ; bbc 5,zp
|
||||
clv
|
||||
lda $3456,y
|
||||
tsx
|
||||
.byte $BB,$00,$00 ; clb 5,a
|
||||
ldy $3456,x
|
||||
lda $3456,x
|
||||
ldx $3456,y
|
||||
bbs3 $12,*+122 ; clb 5,zp
|
||||
cpy #$12
|
||||
cmp ($12,x)
|
||||
.byte $C2,$00,$00 ; wit
|
||||
.byte $C3,$00,$00 ; bbs 6,a
|
||||
cpy $12
|
||||
cmp $12
|
||||
dec $12
|
||||
smb4 $12 ; bbs 6,zp
|
||||
iny
|
||||
cmp #$12
|
||||
dex
|
||||
.byte $CB,$00,$00 ; seb 6,a
|
||||
cpy $3456
|
||||
cmp $3456
|
||||
dec $3456
|
||||
bbs4 $12,*+122 ; seb 6,zp
|
||||
bne *+122
|
||||
cmp ($12),y
|
||||
cmp ($12) ; .byte $d2
|
||||
.byte $D3,$00,$00 ; bbc 6,a
|
||||
.byte $D4,$00,$00
|
||||
cmp $12,x
|
||||
dec $12,x
|
||||
smb5 $12 ; bbc 6,zp
|
||||
cld
|
||||
cmp $3456,y
|
||||
phx
|
||||
.byte $DB,$00,$00 ; clb 6,a
|
||||
.byte $DC,$00,$00
|
||||
cmp $3456,x
|
||||
dec $3456,x
|
||||
bbs5 $12,*+122 ; clb 6,zp
|
||||
cpx #$12
|
||||
sbc ($12,x)
|
||||
.byte $E2,$00,$00 ; div zp,x
|
||||
.byte $E3,$00,$00 ; bbs 7,a
|
||||
cpx $12
|
||||
sbc $12
|
||||
inc $12
|
||||
smb6 $12 ; bbs 7,zp
|
||||
inx
|
||||
sbc #$12
|
||||
nop
|
||||
.byte $EB,$00,$00 ; seb 7,a
|
||||
cpx $3456
|
||||
sbc $3456
|
||||
inc $3456
|
||||
bbs6 $12,*+122 ; seb 7,zp
|
||||
beq *+122
|
||||
sbc ($12),y
|
||||
sbc ($12) ; .byte $f2
|
||||
.byte $F3,$00,$00 ; bbc 7,a
|
||||
.byte $F4,$00,$00
|
||||
sbc $12,x
|
||||
inc $12,x
|
||||
smb7 $12 ; bbc 7,zp
|
||||
sed
|
||||
sbc $3456,y
|
||||
plx
|
||||
.byte $FB,$00,$00 ; clb 7,a
|
||||
.byte $FC,$00,$00
|
||||
sbc $3456,x
|
||||
inc $3456,x
|
||||
bbs7 $12,*+122 ; clb 7,zp
|
||||
Reference in New Issue
Block a user