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