Appendix A
| ADC
Add Memory To Accumulator With Carry |
|||
| Status Flags
N Z C
I D V • • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
ADC #Arg ADC Arg ADC Arg, X ADC Arg ADC Arg, X ADC Arg, Y ADC (Arg, X) ADC (Arg), Y |
69 65 75 6D 7D 79 61 71 |
2 2 2 3 3 3 2 2 |
| AND
"AND" Memory With Accumulator |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
AND # Arg AND Arg AND Arg,X AND Arg AND Arg, X AND Arg, Y AND (Arg, X) AND (Arg),Y |
29 25 35 2D 3D 39 21 31 |
2 2 2 3 3 3 2 2 |
| ASL
Shift
Left One Bit |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Accumulator Zero Page Zero Page, X Absolute Absolute, X |
ASL A ASL Arg ASL Arg, X ASL Arg ASL Arg, X |
0A 06 16 0E 1E |
1 2 2 3 3 |
| BCC
Branch On Carry Clear |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BCC Arg |
90 |
2 |
| BCS
Branch On Carry Set |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BCS Arg |
B0 |
2 |
| BEQ
Branch On Zero |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BEQ Arg |
F0 |
2 |
| BIT
Test Bits In Memory Against Accumulator |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Absolute |
BIT Arg BIT Arg |
24 2C |
2 3 |
| BMI
Branch On Minus |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BMI Arg |
30 |
2 |
| BNE
Branch On Anything But Zero |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BNE Arg |
D0 |
2 |
| BPL
Branch On Plus |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BPL Arg |
10 |
2 |
| BRK
Break |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
BRK |
00 |
1 |
| BVC
Branch On Overflow Clear |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BVC Arg |
50 |
2 |
| BVS
Branch On Overflow Set |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Relative |
BVS Arg |
70 |
2 |
| CLC
Clear Carry Flag |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
CLC |
18 |
1 |
| CLD
Clear Decimal Mode |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
CLD |
D8 |
1 |
| CLI
Clear Interrupt Disable Bit |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
CLI |
58 |
1 |
| CLV
Clear Overflow Flag |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
CLV |
B8 |
1 |
| CMP
Compare Memory And Accumulator |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
CMP # Arg CMP Arg CMP Arg, X CMP Arg CMP Arg, X CMP Arg, Y CMP (Arg, X) CMP (Arg), Y |
C9 C5 D5 CD DD D9 C1 D1 |
2 2 2 3 3 3 2 2 |
| CPX
Compare Memory Against X Register |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Absolute |
CPX # Arg CPX Arg CPX Arg |
E0 E4 EC |
2 2 3 |
| CPY
Compare Memory Against Y Register |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Absolute |
CPY # Arg CPY Arg CPY Arg |
C0 C4 CC |
2 2 3 |
| DEC
Decrement Memory By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Zero Page, X Absolute Absolute, X |
DEC Arg DEC Arg, X DEC Arg DEC Arg, X |
C6 D6 CE DE |
2 2 3 3 |
| DEX
Decrement X Register By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
DEX |
CA |
1 |
| DEY
Decrement Y Register By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
DEY |
88 |
1 |
| EOR
Exclusive-Or Memory With Accumulator |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
EOR # Arg EOR Arg EOR Arg, X EOR Arg EOR Arg, X EOR Arg, Y EOR (Arg, X) EOR (Arg), Y |
49 45 55 4D 5D 59 41 51 |
2 2 2 3 3 3 2 2 |
| INC
Increment Memory By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Zero Page, X Absolute Absolute, X |
INC Arg INC Arg, X INC Arg INC Arg, X |
E6 F6 EE FE |
2 2 3 3 |
| INX
Increment X Register By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
INX |
E8 |
1 |
| INY
Increment Y Register By One |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
INY |
C8 |
1 |
| JMP
Jump |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Absolute Indirect |
JMP Arg JMP (Arg) |
4C 6C |
3 3 |
| JSR
Jump To New Location, But Save Return Address |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Absolute |
JSR Arg |
20 |
3 |
| LDA
Load Accumulator With Memory |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
LDA # Arg LDA Arg LDA Arg, X LDA Arg LDA Arg, X LDA Arg, Y LDA (Arg, X) LDA (Arg), Y |
A9 A5 B5 AD BD B9 A1 B1 |
2 2 2 3 3 3 2 2 |
| LDX
Load X Register |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, Y Absolute Absolute, Y |
LDX # Arg LDX Arg LDX Arg, Y LDX Arg LDX Arg, Y |
A2 A6 B6 AE BE |
2 2 2 3 3 |
| LDY
Load Y Register |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X |
LDY # Arg LDY Arg LDY Arg, X LDY Arg LDY Arg, X |
A0 A4 B4 AC BC |
2 2 2 3 3 |
| LSR
Shift Right One Bit In Either Memory Or Accumulator |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Accumulator Zero Page Zero Page, X Absolute Absolute, X |
LSR A LSR Arg LSR Arg, X LSR Arg LSR Arg, X |
4A 46 56 4E 5E |
1 2 2 3 3 |
| NOP
No Operation |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
NOP |
EA |
1 |
| ORA
OR Memory With Accumulator |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
ORA # Arg ORA Arg ORA Arg, X ORA Arg ORA Arg, X ORA Arg, Y ORA (Arg, X) ORA (Arg), Y |
09 05 15 0D 1D 19 01 11 |
2 2 2 3 3 3 2 2 |
| PHA
Push Accumulator Onto The Stack |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
PHA |
48 |
1 |
| PHP
Push Processor Status Onto The Stack |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
PHP |
08 |
1 |
| PLA
Pull Accumulator From The Stack |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
PLA |
68 |
1 |
| PLP
Pull Processor Status From The Stack |
|||
| Status Flags
N Z C
I D V From Stack |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
PLP |
28 |
1 |
| ROL
Rotate One Bit Left In Memory Or The Accumulator |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Accumulator Zero Page Zero Page, X Absolute Absolute, X |
ROL A ROL Arg ROL Arg, X ROL Arg ROL Arg, X |
2A 26 36 2E 3E |
1 2 2 3 3 |
| ROR
Rotate One Bit Right In Memory Or The Accumulator |
|||
| Status Flags
N Z C
I D V • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Accumulator Zero Page Zero Page, X Absolute Absolute, X |
ROR A ROR Arg ROR Arg, X ROR Arg ROR Arg, X |
6A 66 76 6E 7E |
1 2 2 3 3 |
| RTI
Return From Interrupt |
|||
| Status Flags
N Z C
I D V From Stack |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
RTI |
40 |
1 |
| RTS
Return From Subroutine |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
RTS |
60 |
1 |
| SBC
Subtract Memory From Accumulator, With Borrow |
|||
| Status Flags
N Z C
I D V • • • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Immediate Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
SBC # Arg SBC Arg SBC Arg, X SBC Arg SBC Arg, X SBC Arg, Y SBC (Arg, X) SBC (Arg), Y |
E9 E5 F5 ED FD F9 E1 F1 |
2 2 2 3 3 3 2 2 |
| SEC
Set Carry Flag |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
SEC |
38 |
1 |
| SED
Set Decimal Mode |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
SED |
F8 |
1 |
| SEI
Set Interrupt Disable Status |
|||
| Status Flags
N Z C
I D V • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
SEI |
78 |
1 |
| STA
Store Accumulator In Memory |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Zero Page, X Absolute Absolute, X Absolute, Y (Indirect, X) (Indirect), Y |
STA Arg STA Arg, X STA Arg STA Arg, X STA Arg, Y STA (Arg, X) STA (Arg), Y |
85 95 8D 9D 99 81 91 |
2 2 3 3 3 2 2 |
| STX
Store X Register In Memory |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Zero Page, Y Absolute |
STX Arg STX Arg, Y STX Arg |
86 96 8E |
2 2 3 |
| STY
Store Y Register In Memory |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Zero Page Zero Page, X Absolute |
STY Arg STY Arg, X STY Arg |
84 94 8C |
2 2 3 |
| TAX
Transfer Accumulator To X Register |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TAX |
AA |
1 |
| TAY
Transfer Accumulator To Y Register |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TAY |
A8 |
1 |
| TSX
Transfer Stack Pointer To X Register |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TSX |
BA |
1 |
| TXA
Transfer X Register To Accumulator |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TXA |
8A |
1 |
| TXS
Transfer X Register To Stack Pointer |
|||
| Status Flags
N Z C
I D V |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TXS |
9A |
1 |
| TYA
Transfer Y Register To Accumulator |
|||
| Status Flags
N Z C
I D V • • |
|||
| Addressing Mode |
Mnemonics |
Opcode |
Size In Bytes |
| Implied |
TYA |
98 |
1 |
Return to Table of Contents | Previous Chapter | Next Chapter

