Code:
Air # zp z,X a a,X a,Y (,X)(),Y Nonstandard
ADC _ 69 65 75 6D 7D 79 61 71
AND _ 29 25 35 2D 3D 39 21 31
ASL 0A _ 06 16 0E 1E _ _ _
BIT _ _ 24 _ 2C _ _ _ _
CMP _ C9 C5 D5 CD DD D9 C1 D1
CPX _ E0 E4 _ EC _ _ _ _
CPY _ C0 C4 _ CC _ _ _ _
DEC _ _ C6 D6 CE DE _ _ _
Air # zp z,X a a,X a,Y (,X)(),Y
EOR _ 49 45 55 4D 5D 59 41 51
INC _ _ E6 F6 EE FE _ _ _
JMP _ _ _ _ 4C _ _ _ _ JMP(a):6C
JSR _ _ _ _ 20 _ _ _ _
LDA _ A9 A5 B5 AD BD B9 A1 B1
LDX _ A2 A6 _ AE _ BE _ _ LDX z,Y:B6
LDY _ A0 A4 B4 _ AC BC _ _
LSR 4A _ 46 56 _ 4E 5E _ _
ORA _ 09 05 15 0D 1D 19 01 11
Air # zp z,X a a,X a,Y (,X)(),Y
ROL 2A _ 26 36 2E 3E _ _ _
ROR 6A _ 66 76 6E 7E _ _ _
SBC _ E9 E5 F5 ED FD F9 E1 F1
STA _ _ 85 95 8D 9D 99 81 91
STX _ _ 86 _ 8E _ _ _ _ STX z,Y:96
STY _ _ 84 94 8C _ _ _ _
Air # zp z,X a a,X a,Y (,X)(),Y
All Implied-only Commands
Branches(relative)
BCC 90 BCS B0 BEQ F0 BMI 30 BNE D0 BPL 10 BVC 50 BVS 70
Inc/Dec Indices
DEX CA DEY 88 INX E8 INY C8
Push/Pull
PHA 48 PHP 08 PLA 68 PLP 28
Break/Return/NOP
BRK 00 RTI 40 RTS 60 NOP EA
Set/Clear
SEC 38 SED F8 SEI 78 CLC 18 CLD D8 CLI 58 CLV B8
Register Transfer
TAX AA TAY A8 TSX BA TXA 8A TXS 9A TYA 98
6502's unofficial opcodes
Air # zp z,X a a,X a,Y (,X)(),Y alias |Notes
ALR _ 4B _ _ _ _ _ _ _ ASR* - |AND then LSR A *not Arithmetic Shift Right
ANC _ 0B _ _ _ _ _ _ _ AAC - |AND/BIT(NZ), then N->C
_ 2B _ _ _ _ _ _ _ - - |alternate opcode
ARR _ 6B _ _ _ _ _ _ _ - - |AND then ROR A, odd V,C flags
AXS _ CB _ _ _ _ _ _ _ - - |X = A&X-i, update NZC. aka SBX
DCP _ _ C7 D7 CF DF DB C3 D3 DCM - |DEC then CMP
ISC _ _ E7 F7 EF FF FB E3 F3 ISB INS|INC then SBC
RLA _ _ 27 37 2F 3F 3B 23 33 - - |ROL then AND
RRA _ _ 67 77 6F 7F 7B 63 73 - - |ROR then ADC
SLO _ _ 07 17 0F 1F 1B 03 13 ASO - |ASL then ORA
SRE _ _ 47 57 4F 5F 5B 43 53 LSE - |LSR then EOR
LAS _ _ _ _ _ _ BB _ _ LAE LAR|A,S,X = mem&S (aka AST)
LAX _ AB* A7 _ AF _ BF A3 B3 ANX ATX|LAX z,Y: B7. Load both A/X.*AB somewhat unstable, aka OAL, LXA
SAX _ _ 87 _ 8F _ _ 83 _ AAX ASX|SAX z,Y: 97. Store bitwise A&X
SBC _ EB _ _ _ _ _ _ _ - - |unofficial/alt SBC opcode
6502's unofficial NOPcodes
aka DOP |LDD TOP SKW
NOP SKB IGN|IGN IGN IGN
Air # zp z,X a a,X a,Y (,X)(),Y
NOP:1A 80 04 14 0C 1C
3A 82 44 34 _ 3C
5A 89 64 54 _ 5C
7A C2 74 7C
DA E2 D4 DC
FA F4 FC
KIL 02 12 22 32 42 52 62 72 92 B2 D2 F2 (each crashes 6502) aka CIM, HLT, JAM
6502's Unstable Unofficial Opcodes
AHX a,Y 9F SHX a,Y 9E SHY a,X 9C TAS a,Y 9B XAA #imm 8B (very strange!)
ADC _ 69 65 75 6D 7D 79 61 71
AND _ 29 25 35 2D 3D 39 21 31
ASL 0A _ 06 16 0E 1E _ _ _
BIT _ _ 24 _ 2C _ _ _ _
CMP _ C9 C5 D5 CD DD D9 C1 D1
CPX _ E0 E4 _ EC _ _ _ _
CPY _ C0 C4 _ CC _ _ _ _
DEC _ _ C6 D6 CE DE _ _ _
Air # zp z,X a a,X a,Y (,X)(),Y
EOR _ 49 45 55 4D 5D 59 41 51
INC _ _ E6 F6 EE FE _ _ _
JMP _ _ _ _ 4C _ _ _ _ JMP(a):6C
JSR _ _ _ _ 20 _ _ _ _
LDA _ A9 A5 B5 AD BD B9 A1 B1
LDX _ A2 A6 _ AE _ BE _ _ LDX z,Y:B6
LDY _ A0 A4 B4 _ AC BC _ _
LSR 4A _ 46 56 _ 4E 5E _ _
ORA _ 09 05 15 0D 1D 19 01 11
Air # zp z,X a a,X a,Y (,X)(),Y
ROL 2A _ 26 36 2E 3E _ _ _
ROR 6A _ 66 76 6E 7E _ _ _
SBC _ E9 E5 F5 ED FD F9 E1 F1
STA _ _ 85 95 8D 9D 99 81 91
STX _ _ 86 _ 8E _ _ _ _ STX z,Y:96
STY _ _ 84 94 8C _ _ _ _
Air # zp z,X a a,X a,Y (,X)(),Y
All Implied-only Commands
Branches(relative)
BCC 90 BCS B0 BEQ F0 BMI 30 BNE D0 BPL 10 BVC 50 BVS 70
Inc/Dec Indices
DEX CA DEY 88 INX E8 INY C8
Push/Pull
PHA 48 PHP 08 PLA 68 PLP 28
Break/Return/NOP
BRK 00 RTI 40 RTS 60 NOP EA
Set/Clear
SEC 38 SED F8 SEI 78 CLC 18 CLD D8 CLI 58 CLV B8
Register Transfer
TAX AA TAY A8 TSX BA TXA 8A TXS 9A TYA 98
6502's unofficial opcodes
Air # zp z,X a a,X a,Y (,X)(),Y alias |Notes
ALR _ 4B _ _ _ _ _ _ _ ASR* - |AND then LSR A *not Arithmetic Shift Right
ANC _ 0B _ _ _ _ _ _ _ AAC - |AND/BIT(NZ), then N->C
_ 2B _ _ _ _ _ _ _ - - |alternate opcode
ARR _ 6B _ _ _ _ _ _ _ - - |AND then ROR A, odd V,C flags
AXS _ CB _ _ _ _ _ _ _ - - |X = A&X-i, update NZC. aka SBX
DCP _ _ C7 D7 CF DF DB C3 D3 DCM - |DEC then CMP
ISC _ _ E7 F7 EF FF FB E3 F3 ISB INS|INC then SBC
RLA _ _ 27 37 2F 3F 3B 23 33 - - |ROL then AND
RRA _ _ 67 77 6F 7F 7B 63 73 - - |ROR then ADC
SLO _ _ 07 17 0F 1F 1B 03 13 ASO - |ASL then ORA
SRE _ _ 47 57 4F 5F 5B 43 53 LSE - |LSR then EOR
LAS _ _ _ _ _ _ BB _ _ LAE LAR|A,S,X = mem&S (aka AST)
LAX _ AB* A7 _ AF _ BF A3 B3 ANX ATX|LAX z,Y: B7. Load both A/X.*AB somewhat unstable, aka OAL, LXA
SAX _ _ 87 _ 8F _ _ 83 _ AAX ASX|SAX z,Y: 97. Store bitwise A&X
SBC _ EB _ _ _ _ _ _ _ - - |unofficial/alt SBC opcode
6502's unofficial NOPcodes
aka DOP |LDD TOP SKW
NOP SKB IGN|IGN IGN IGN
Air # zp z,X a a,X a,Y (,X)(),Y
NOP:1A 80 04 14 0C 1C
3A 82 44 34 _ 3C
5A 89 64 54 _ 5C
7A C2 74 7C
DA E2 D4 DC
FA F4 FC
KIL 02 12 22 32 42 52 62 72 92 B2 D2 F2 (each crashes 6502) aka CIM, HLT, JAM
6502's Unstable Unofficial Opcodes
AHX a,Y 9F SHX a,Y 9E SHY a,X 9C TAS a,Y 9B XAA #imm 8B (very strange!)
It's a little under a one-side page printed, though it may no longer be with the unstable opcodes. I *think* I've ironed out the errors I made.
I don't much like the aliases where they are. (TOmaybeDO: aliases for unstables)
edit: Pretty much redundant with http://www.oxyron.de/html/opcodes02.html. Oh well.