Implement op -0xd0 (except for _adc and _cp macros)

This commit is contained in:
Takashi Toyoshima 2014-12-07 01:58:56 +09:00
parent 4f71331f06
commit 677b893b40

101
6502.S
View File

@ -346,6 +346,10 @@
add PC, PC, r0 add PC, PC, r0
.endm .endm
.macro _cp reg
// TODO
.endm
.macro _dec .macro _dec
mov r0, RA mov r0, RA
adds r0, r0, #1 adds r0, r0, #1
@ -572,6 +576,11 @@ opb3:
opb7: opb7:
opbb: opbb:
opbf: opbf:
opc2:
opc3:
opc7:
opcb:
opcf:
_nop _nop
_decode _decode
@ -1186,38 +1195,65 @@ opbe: // LDX - Absolute, Y
_ld RX _ld RX
_decode _decode
opc0: opc0: // CPY - Immediate
b quit _fromImmb
opc1: _cp RY
b quit _decode
opc2:
b quit opc1: // CMP - (Indirect, X)
opc3: _fromIndexedIndirect
b quit _cp RA
opc4: _decode
b quit
opc5: opc4: // CPY - Zero Page
b quit _fromZero
opc6: _cp RY
b quit _decode
opc7:
b quit opc5: // CMP - Zero Page
opc8: _fromZero
b quit _cp RA
opc9: _decode
b quit
opca: opc6: // DEC - Zero Page
b quit _fromZero
opcb: _dec
b quit _toAddr
opcc: _decode
b quit
opcd: opc8: // INY
b quit _fromReg RY
opce: _dec
b quit _toReg RY
opcf: _decode
b quit
opc9: // CMP - Immediate
_fromImmb
_cp RA
_decode
opca: // DEX
_fromReg RX
_dec
_toReg RX
_decode
opcc: // CPY - Absolute
_fromAbsb
_cp RY
_decode
opcd: // CMP - Absolute
_fromAbsb
_cp RA
_decode
opce: // DEC - Absolute
_fromAbsb
_dec
_toAddr
_decode
opd0: // BNE (Z==0) opd0: // BNE (Z==0)
movs r0, #FLAG_Z movs r0, #FLAG_Z
tst SR, r0 tst SR, r0
@ -1225,6 +1261,7 @@ opd0: // BNE (Z==0)
_bxx _bxx
1: 1:
_decode _decode
opd1: opd1:
b quit b quit
opd2: opd2: