📄 nes6502.c
字号:
ORA(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(0A) /* ASL A */
ASL_A();
OPCODE_END
OPCODE_BEGIN(0B) /* ANC #$nn */
ANC(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(0C) /* NOP $nnnn */
TOP();
OPCODE_END
OPCODE_BEGIN(0D) /* ORA $nnnn */
ORA(4, ABSOLUTE_BYTE);
OPCODE_END
OPCODE_BEGIN(0E) /* ASL $nnnn */
ASL(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(0F) /* SLO $nnnn */
SLO(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(10) /* BPL $nnnn */
BPL();
OPCODE_END
OPCODE_BEGIN(11) /* ORA ($nn),Y */
ORA(5, INDIR_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(13) /* SLO ($nn),Y */
SLO(8, INDIR_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(14) /* NOP $nn,X */
OPCODE_BEGIN(34) /* NOP */
OPCODE_BEGIN(54) /* NOP $nn,X */
OPCODE_BEGIN(74) /* NOP $nn,X */
OPCODE_BEGIN(D4) /* NOP $nn,X */
OPCODE_BEGIN(F4) /* NOP ($nn,X) */
DOP(4);
OPCODE_END
OPCODE_BEGIN(15) /* ORA $nn,X */
ORA(4, ZP_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(16) /* ASL $nn,X */
ASL(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(17) /* SLO $nn,X */
SLO(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(18) /* CLC */
CLC();
OPCODE_END
OPCODE_BEGIN(19) /* ORA $nnnn,Y */
ORA(4, ABS_IND_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(1A) /* NOP */
OPCODE_BEGIN(3A) /* NOP */
OPCODE_BEGIN(5A) /* NOP */
OPCODE_BEGIN(7A) /* NOP */
OPCODE_BEGIN(DA) /* NOP */
OPCODE_BEGIN(FA) /* NOP */
NOP();
OPCODE_END
OPCODE_BEGIN(1B) /* SLO $nnnn,Y */
SLO(7, ABS_IND_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(1C) /* NOP $nnnn,X */
OPCODE_BEGIN(3C) /* NOP $nnnn,X */
OPCODE_BEGIN(5C) /* NOP $nnnn,X */
OPCODE_BEGIN(7C) /* NOP $nnnn,X */
OPCODE_BEGIN(DC) /* NOP $nnnn,X */
OPCODE_BEGIN(FC) /* NOP $nnnn,X */
TOP();
OPCODE_END
OPCODE_BEGIN(1D) /* ORA $nnnn,X */
ORA(4, ABS_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(1E) /* ASL $nnnn,X */
ASL(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(1F) /* SLO $nnnn,X */
SLO(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(20) /* JSR $nnnn */
JSR();
OPCODE_END
OPCODE_BEGIN(21) /* AND ($nn,X) */
AND(6, INDIR_X_BYTE);
OPCODE_END
OPCODE_BEGIN(23) /* RLA ($nn,X) */
RLA(8, INDIR_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(24) /* BIT $nn */
BIT(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(25) /* AND $nn */
AND(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(26) /* ROL $nn */
ROL(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(27) /* RLA $nn */
RLA(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(28) /* PLP */
PLP();
OPCODE_END
OPCODE_BEGIN(29) /* AND #$nn */
AND(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(2A) /* ROL A */
ROL_A();
OPCODE_END
OPCODE_BEGIN(2B) /* ANC #$nn */
ANC(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(2C) /* BIT $nnnn */
BIT(4, ABSOLUTE_BYTE);
OPCODE_END
OPCODE_BEGIN(2D) /* AND $nnnn */
AND(4, ABSOLUTE_BYTE);
OPCODE_END
OPCODE_BEGIN(2E) /* ROL $nnnn */
ROL(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(2F) /* RLA $nnnn */
RLA(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(30) /* BMI $nnnn */
BMI();
OPCODE_END
OPCODE_BEGIN(31) /* AND ($nn),Y */
AND(5, INDIR_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(33) /* RLA ($nn),Y */
RLA(8, INDIR_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(35) /* AND $nn,X */
AND(4, ZP_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(36) /* ROL $nn,X */
ROL(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(37) /* RLA $nn,X */
RLA(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(38) /* SEC */
SEC();
OPCODE_END
OPCODE_BEGIN(39) /* AND $nnnn,Y */
AND(4, ABS_IND_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(3B) /* RLA $nnnn,Y */
RLA(7, ABS_IND_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(3D) /* AND $nnnn,X */
AND(4, ABS_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(3E) /* ROL $nnnn,X */
ROL(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(3F) /* RLA $nnnn,X */
RLA(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(40) /* RTI */
RTI();
OPCODE_END
OPCODE_BEGIN(41) /* EOR ($nn,X) */
EOR(6, INDIR_X_BYTE);
OPCODE_END
OPCODE_BEGIN(43) /* SRE ($nn,X) */
SRE(8, INDIR_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(45) /* EOR $nn */
EOR(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(46) /* LSR $nn */
LSR(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(47) /* SRE $nn */
SRE(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(48) /* PHA */
PHA();
OPCODE_END
OPCODE_BEGIN(49) /* EOR #$nn */
EOR(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(4A) /* LSR A */
LSR_A();
OPCODE_END
OPCODE_BEGIN(4B) /* ASR #$nn */
ASR(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(4C) /* JMP $nnnn */
JMP_ABSOLUTE();
OPCODE_END
OPCODE_BEGIN(4D) /* EOR $nnnn */
EOR(4, ABSOLUTE_BYTE);
OPCODE_END
OPCODE_BEGIN(4E) /* LSR $nnnn */
LSR(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(4F) /* SRE $nnnn */
SRE(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(50) /* BVC $nnnn */
BVC();
OPCODE_END
OPCODE_BEGIN(51) /* EOR ($nn),Y */
EOR(5, INDIR_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(53) /* SRE ($nn),Y */
SRE(8, INDIR_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(55) /* EOR $nn,X */
EOR(4, ZP_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(56) /* LSR $nn,X */
LSR(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(57) /* SRE $nn,X */
SRE(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(58) /* CLI */
CLI();
OPCODE_END
OPCODE_BEGIN(59) /* EOR $nnnn,Y */
EOR(4, ABS_IND_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(5B) /* SRE $nnnn,Y */
SRE(7, ABS_IND_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(5D) /* EOR $nnnn,X */
EOR(4, ABS_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(5E) /* LSR $nnnn,X */
LSR(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(5F) /* SRE $nnnn,X */
SRE(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(60) /* RTS */
RTS();
OPCODE_END
OPCODE_BEGIN(61) /* ADC ($nn,X) */
ADC(6, INDIR_X_BYTE);
OPCODE_END
OPCODE_BEGIN(63) /* RRA ($nn,X) */
RRA(8, INDIR_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(65) /* ADC $nn */
ADC(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(66) /* ROR $nn */
ROR(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(67) /* RRA $nn */
RRA(5, ZERO_PAGE, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(68) /* PLA */
PLA();
OPCODE_END
OPCODE_BEGIN(69) /* ADC #$nn */
ADC(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(6A) /* ROR A */
ROR_A();
OPCODE_END
OPCODE_BEGIN(6B) /* ARR #$nn */
ARR(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(6C) /* JMP ($nnnn) */
JMP_INDIRECT();
OPCODE_END
OPCODE_BEGIN(6D) /* ADC $nnnn */
ADC(4, ABSOLUTE_BYTE);
OPCODE_END
OPCODE_BEGIN(6E) /* ROR $nnnn */
ROR(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(6F) /* RRA $nnnn */
RRA(6, ABSOLUTE, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(70) /* BVS $nnnn */
BVS();
OPCODE_END
OPCODE_BEGIN(71) /* ADC ($nn),Y */
ADC(5, INDIR_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(73) /* RRA ($nn),Y */
RRA(8, INDIR_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(75) /* ADC $nn,X */
ADC(4, ZP_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(76) /* ROR $nn,X */
ROR(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(77) /* RRA $nn,X */
RRA(6, ZP_IND_X, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(78) /* SEI */
SEI();
OPCODE_END
OPCODE_BEGIN(79) /* ADC $nnnn,Y */
ADC(4, ABS_IND_Y_BYTE);
OPCODE_END
OPCODE_BEGIN(7B) /* RRA $nnnn,Y */
RRA(7, ABS_IND_Y, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(7D) /* ADC $nnnn,X */
ADC(4, ABS_IND_X_BYTE);
OPCODE_END
OPCODE_BEGIN(7E) /* ROR $nnnn,X */
ROR(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(7F) /* RRA $nnnn,X */
RRA(7, ABS_IND_X, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(80) /* NOP #$nn */
OPCODE_BEGIN(82) /* NOP #$nn */
OPCODE_BEGIN(89) /* NOP #$nn */
OPCODE_BEGIN(C2) /* NOP #$nn */
OPCODE_BEGIN(E2) /* NOP #$nn */
DOP(2);
OPCODE_END
OPCODE_BEGIN(81) /* STA ($nn,X) */
STA(6, INDIR_X_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(83) /* SAX ($nn,X) */
SAX(6, INDIR_X_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(84) /* STY $nn */
STY(3, ZERO_PAGE_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(85) /* STA $nn */
STA(3, ZERO_PAGE_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(86) /* STX $nn */
STX(3, ZERO_PAGE_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(87) /* SAX $nn */
SAX(3, ZERO_PAGE_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(88) /* DEY */
DEY();
OPCODE_END
OPCODE_BEGIN(8A) /* TXA */
TXA();
OPCODE_END
OPCODE_BEGIN(8B) /* ANE #$nn */
ANE(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(8C) /* STY $nnnn */
STY(4, ABSOLUTE_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(8D) /* STA $nnnn */
STA(4, ABSOLUTE_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(8E) /* STX $nnnn */
STX(4, ABSOLUTE_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(8F) /* SAX $nnnn */
SAX(4, ABSOLUTE_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(90) /* BCC $nnnn */
BCC();
OPCODE_END
OPCODE_BEGIN(91) /* STA ($nn),Y */
STA(6, INDIR_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(93) /* SHA ($nn),Y */
SHA(6, INDIR_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(94) /* STY $nn,X */
STY(4, ZP_IND_X_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(95) /* STA $nn,X */
STA(4, ZP_IND_X_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(96) /* STX $nn,Y */
STX(4, ZP_IND_Y_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(97) /* SAX $nn,Y */
SAX(4, ZP_IND_Y_ADDR, ZP_WRITEBYTE, baddr);
OPCODE_END
OPCODE_BEGIN(98) /* TYA */
TYA();
OPCODE_END
OPCODE_BEGIN(99) /* STA $nnnn,Y */
STA(5, ABS_IND_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(9A) /* TXS */
TXS();
OPCODE_END
OPCODE_BEGIN(9B) /* SHS $nnnn,Y */
SHS(5, ABS_IND_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(9C) /* SHY $nnnn,X */
SHY(5, ABS_IND_X_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(9D) /* STA $nnnn,X */
STA(5, ABS_IND_X_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(9E) /* SHX $nnnn,Y */
SHX(5, ABS_IND_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(9F) /* SHA $nnnn,Y */
SHA(5, ABS_IND_Y_ADDR, mem_writebyte, addr);
OPCODE_END
OPCODE_BEGIN(A0) /* LDY #$nn */
LDY(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(A1) /* LDA ($nn,X) */
LDA(6, INDIR_X_BYTE);
OPCODE_END
OPCODE_BEGIN(A2) /* LDX #$nn */
LDX(2, IMMEDIATE_BYTE);
OPCODE_END
OPCODE_BEGIN(A3) /* LAX ($nn,X) */
LAX(6, INDIR_X_BYTE);
OPCODE_END
OPCODE_BEGIN(A4) /* LDY $nn */
LDY(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(A5) /* LDA $nn */
LDA(3, ZERO_PAGE_BYTE);
OPCODE_END
OPCODE_BEGIN(A6) /* LDX $nn */
LDX(3, ZERO_PAGE_BYTE);
OPCODE_END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -