There are 54 official distinct Instruction names for the NES 6502 processor. This list does not make any mention of unofficial instructions that may or may not function as expected. This list of instructions is mostly listed in alphabetical order, but some of them are grouped together in ways that make sense to myself. The order of instructions is not final and may change in the near future.
This particular page is far from finished. Detailed descriptions of each instruction (but not strictly each opcode) will eventually be provided. I'm still not sure where addressing modes will be described, but it will most likely end up in the Memory page. Also, this table of instructions is probably going to be redone, but has been whipped up as is just to have the information out there.
Instruction | Opcode | Addressing Mode | Bytes |
---|---|---|---|
ADC | 0x69 | Immediate | 2 |
ADC | 0x65 | Zero Page | 2 |
ADC | 0x75 | Zero Page, X | 2 |
ADC | 0x6D | Absolute | 3 |
ADC | 0x7D | Absolute, X | 3 |
ADC | 0x79 | Absolute, Y | 3 |
ADC | 0x61 | Indirect, X | 2 |
ADC | 0x71 | Indirect, Y | 2 |
AND | 0x29 | Immediate | 2 |
AND | 0x25 | Zero Page | 2 |
AND | 0x35 | Zero Page, X | 2 |
AND | 0x2D | Absolute | 3 |
AND | 0x3D | Absolute, X | 3 |
AND | 0x39 | Absolute, Y | 3 |
AND | 0x21 | Indirect, X | 2 |
AND | 0x31 | Indirect, Y | 2 |
ASL | 0x0A | Accumulator | 1 |
ASL | 0x06 | Zero Page | 2 |
ASL | 0x16 | Zero Page, X | 2 |
ASL | 0x0E | Absolute | 3 |
ASL | 0x1E | Absolute, X | 3 |
BIT | 0x24 | Zero Page | 2 |
BIT | 0x2C | Absolute | 3 |
BRK | 0x00 | Implied | 1 |
BCC | 0x90 | Relative | 2 |
BCS | 0xB0 | Relative | 2 |
BEQ | 0xF0 | Relative | 2 |
BMI | 0x30 | Relative | 2 |
BNE | 0xD0 | Relative | 2 |
BPL | 0x10 | Relative | 2 |
BVC | 0x50 | Relative | 2 |
BVS | 0x70 | Relative | 2 |
CLC | 0x18 | Implied | 1 |
CLD | 0xD8 | Implied | 1 |
CLI | 0x58 | Implied | 1 |
CLV | 0xB8 | Implied | 1 |
CMP | 0xC9 | Immediate | 2 |
CMP | 0xC5 | Zero Page | 2 |
CMP | 0xD5 | Zero Page, X | 2 |
CMP | 0xCD | Absolute | 3 |
CMP | 0xDD | Absolute, X | 3 |
CMP | 0xD9 | Absolute, Y | 3 |
CMP | 0xC1 | Indirect, X | 2 |
CMP | 0xD1 | Indirect, Y | 2 |
CPX | 0xE0 | Immediate | 2 |
CPX | 0xE4 | Zero Page | 2 |
CPX | 0xEC | Absolute | 3 |
CPY | 0xC0 | Immediate | 2 |
CPY | 0xC4 | Zero Page | 2 |
CPY | 0xCC | Absolute | 3 |
DEC | 0xC6 | Zero Page | 2 |
DEC | 0xD6 | Zero Page, X | 2 |
DEC | 0xCE | Absolute | 3 |
DEC | 0xDE | Absolute, X | 3 |
DEX | 0xCA | Implied | 1 |
DEY | 0x88 | Implied | 1 |
INC | 0xE6 | Zero Page | 2 |
INC | 0xF6 | Zero Page, X | 2 |
INC | 0xEE | Absolute | 3 |
INC | 0xFE | Absolute, X | 3 |
INX | 0xE8 | Implied | 1 |
INY | 0xC8 | Implied | 1 |
JMP | 0x4C | Absolute | 3 |
JMP | 0x6C | Indirect | 2 |
JSR | 0x20 | Absolute | 3 |
LDA | 0xA9 | Immediate | 2 |
LDA | 0xA5 | Zero Page | 2 |
LDA | 0xB5 | Zero Page, X | 2 |
LDA | 0xAD | Absolute | 3 |
LDA | 0xBD | Absolute, X | 3 |
LDA | 0xB9 | Absolute, Y | 3 |
LDA | 0xA1 | Indirect, X | 2 |
LDA | 0xB1 | Indirect, Y | 2 |
LDX | 0xA2 | Immediate | 2 |
LDX | 0xA6 | Zero Page | 2 |
LDX | 0xB6 | Zero Page, Y | 2 |
LDX | 0xAE | Absolute | 3 |
LDX | 0xBE | Absolute, Y | 3 |
LDY | 0xA0 | Immediate | 2 |
LDY | 0xA4 | Zero Page | 2 |
LDY | 0xB4 | Zero Page, X | 2 |
LDY | 0xAC | Absolute | 3 |
LDY | 0xBC | Absolute, X | 3 |
LSR | 0x4A | Accumulator | 1 |
LSR | 0x46 | Zero Page | 2 |
LSR | 0x56 | Zero Page, X | 2 |
LSR | 0x4E | Absolute | 3 |
LSR | 0x5E | Absolute, X | 3 |
NOP | 0xEA | Implied | 1 |
EOR | 0x49 | Immediate | 2 |
EOR | 0x45 | Zero Page | 2 |
EOR | 0x15 | Zero Page, X | 2 |
EOR | 0x4D | Absolute | 3 |
EOR | 0x5D | Absolute, X | 3 |
EOR | 0x59 | Absolute, Y | 3 |
EOR | 0x41 | Indirect, X | 2 |
EOR | 0x51 | Indirect, Y | 2 |
ORA | 0x09 | Immediate | 2 |
ORA | 0x05 | Zero Page | 2 |
ORA | 0x15 | Zero Page, X | 2 |
ORA | 0x0D | Absolute | 3 |
ORA | 0x1D | Absolute, X | 3 |
ORA | 0x19 | Absolute, Y | 3 |
ORA | 0x01 | Indirect, X | 2 |
ORA | 0x11 | Indirect, Y | 2 |
PHA | 0x48 | Implied | 1 |
PHP | 0x08 | Implied | 1 |
PLA | 0x68 | Implied | 1 |
PLP | 0x28 | Implied | 1 |
ROL | 0x2A | Accumulator | 1 |
ROL | 0x26 | Zero Page | 2 |
ROL | 0x36 | Zero Page, X | 2 |
ROL | 0x2E | Absolute | 3 |
ROL | 0x3E | Absolute, X | 3 |
ROR | 0x6A | Accumulator | 1 |
ROR | 0x66 | Zero Page | 2 |
ROR | 0x76 | Zero Page, X | 2 |
ROR | 0x6E | Absolute | 3 |
ROR | 0x7E | Absolute, X | 3 |
RTI | 0x40 | Implied | 1 |
RTS | 0x60 | Implied | 1 |
SBC | 0xE9 | Immediate | 2 |
SBC | 0xE5 | Zero Page | 2 |
SBC | 0xF5 | Zero Page, X | 2 |
SBC | 0xED | Absolute | 3 |
SBC | 0xFD | Absolute, X | 3 |
SBC | 0xF9 | Absolute, Y | 3 |
SBC | 0xE1 | Indirect, X | 2 |
SBC | 0xF1 | Indirect, Y | 2 |
SEC | 0x38 | Implied | 1 |
SED | 0xF8 | Implied | 1 |
SEI | 0x78 | Implied | 1 |
STA | 0x85 | Zero Page | 2 |
STA | 0x95 | Zero Page, X | 2 |
STA | 0x8D | Absolute | 3 |
STA | 0x9D | Absolute, X | 3 |
STA | 0x99 | Absolute, Y | 3 |
STA | 0x81 | Indirect, X | 2 |
STA | 0x91 | Indirect, Y | 2 |
STX | 0x86 | Zero Page | 2 |
STX | 0x96 | Zero Page, Y | 2 |
STX | 0x8E | Absolute | 3 |
STY | 0x84 | Zero Page | 2 |
STY | 0x94 | Zero Page, X | 2 |
STY | 0x8C | Absolute | 3 |
TAX | 0xAA | Implied | 1 |
TAY | 0xA8 | Implied | 1 |
TSX | 0xBA | Implied | 1 |
TXA | 0x8A | Implied | 1 |
TXS | 0x9A | Implied | 1 |
TYA | 0x98 | Implied | 1 |
Opcode descriptions will be found here, but are not yet written.