Instruction Set

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.