<br>
== Opcode Official opcode matrix for the 6502 instruction set ==
{| class="wikitable"
<br>
== Opcode matrix including illegal opcodes == {| class="wikitable"|-|colspan=17| Addressing modes: <span style="background-color: #e0e0e0;">'''A''' - accumulator</span>, <span style="background-color: #e0ffe0;">'''#''' - immediate</span>, <span style="background-color: #ffe0e0;">'''zpg''' - zero page</span>, <span style="background-color: #e0ffff;">'''abs''' - absolute</span>, <span style="background-color: #ffe0ff;">'''ind''' - indirect</span>, '''X''' - indexed by X register, '''Y''' - indexed by Y register, <span style="background-color: #ffffe0;">'''rel''' - relative</span> |-!rowspan=2| High nibble ||colspan=16| Low nibble|- ! 0|| 1|| 2|| 3|| 4|| 5|| 6|| 7|| 8|| 9|| A|| B|| C|| D|| E|| F|- ! 0| bgcolor=#e0e0e0|BRK| bgcolor=#ffe0ff|ORA (''ind'',X)| JAM| SLO (''ind'',X)| NOP ''zpg''| bgcolor=#ffe0e0|ORA ''zpg''| bgcolor=#ffe0e0|ASL ''zpg''| SLO ''zpg''| bgcolor=#e0e0e0|PHP| bgcolor=#e0ffe0|ORA #| bgcolor=#e0e0e0|ASL A| ANC #| NOP ''abs''| bgcolor=#e0ffff|ORA ''abs''| bgcolor=#e0ffff|ASL ''abs''| SLO ''abs''|- ! 1| bgcolor=#ffffe0|BPL ''rel''| bgcolor=#ffe0ff|ORA (''ind''),Y| JAM| SLO (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|ORA ''zpg'',X| bgcolor=#ffe0e0|ASL ''zpg'',X| SLO ''zpg'',X| bgcolor=#e0e0e0|CLC| bgcolor=#e0ffff|ORA ''abs'',Y| NOP| SLO ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|ORA ''abs'',X| bgcolor=#e0ffff|ASL ''abs'',X| SLO ''abs'',X|- ! 2| bgcolor=#e0ffff|JSR ''abs''| bgcolor=#ffe0ff|AND (''ind'',X)| JAM| RLA (''ind'',X)| bgcolor=#ffe0e0|BIT ''zpg''| bgcolor=#ffe0e0|AND ''zpg''| bgcolor=#ffe0e0|ROL ''zpg''| RLA ''zpg''| bgcolor=#e0e0e0|PLP| bgcolor=#e0ffe0|AND #| bgcolor=#e0e0e0|ROL A| ANC #| bgcolor=#e0ffff|BIT ''abs''| bgcolor=#e0ffff|AND ''abs''| bgcolor=#e0ffff|ROL ''abs''| RLA ''abs''|- ! 3| bgcolor=#ffffe0|BMI ''rel''| bgcolor=#ffe0ff|AND (''ind''),Y| JAM| RLA (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|AND ''zpg'',X| bgcolor=#ffe0e0|ROL ''zpg'',X| RLA ''zpg'',X| bgcolor=#e0e0e0|SEC| bgcolor=#e0ffff|AND ''abs'',Y| NOP| RLA ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|AND ''abs'',X| bgcolor=#e0ffff|ROL ''abs'',X| RLA ''abs'',X|- ! 4| bgcolor=#e0e0e0|RTI| bgcolor=#ffe0ff|EOR (''ind'',X)| JAM| SRE (''ind'',X)| NOP ''zpg''| bgcolor=#ffe0e0|EOR ''zpg''| bgcolor=#ffe0e0|LSR ''zpg''| SRE ''zpg''| bgcolor=#e0e0e0|PHA| bgcolor=#e0ffe0|EOR #| bgcolor=#e0e0e0|LSR A| ALR #| bgcolor=#e0ffff|JMP ''abs''| bgcolor=#e0ffff|EOR ''abs''| bgcolor=#e0ffff|LSR ''abs''| SRE ''abs''|- ! 5| bgcolor=#ffffe0|BVC ''rel''| bgcolor=#ffe0ff|EOR (''ind''),Y| JAM| SRE (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|EOR ''zpg'',X| bgcolor=#ffe0e0|LSR ''zpg'',X| SRE ''zpg'',X| bgcolor=#e0e0e0|CLI| bgcolor=#e0ffff|EOR ''abs'',Y| NOP| SRE ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|EOR ''abs'',X| bgcolor=#e0ffff|LSR ''abs'',X| SRE ''abs'',X|- ! 6| bgcolor=#e0e0e0|RTS| bgcolor=#ffe0ff|ADC (''ind'',X)| JAM| RRA (''ind'',X)| NOP ''zpg''| bgcolor=#ffe0e0|ADC ''zpg''| bgcolor=#ffe0e0|ROR ''zpg''| RRA ''zpg''| bgcolor=#e0e0e0|PLA| bgcolor=#e0ffe0|ADC #| bgcolor=#e0e0e0|ROR A| ARR #| bgcolor=#ffe0ff|JMP (''ind'')| bgcolor=#e0ffff|ADC ''abs''| bgcolor=#e0ffff|ROR ''abs''| RRA ''abs''|- ! 7| bgcolor=#ffffe0|BVS ''rel''| bgcolor=#ffe0ff|ADC (''ind''),Y| JAM| RRA (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|ADC ''zpg'',X| bgcolor=#ffe0e0|ROR ''zpg'',X| RRA ''zpg'',X| bgcolor=#e0e0e0|SEI| bgcolor=#e0ffff|ADC ''abs'',Y| NOP| RRA ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|ADC ''abs'',X| bgcolor=#e0ffff|ROR ''abs'',X| RRA ''abs'',X|- ! 8| NOP #| bgcolor=#ffe0ff|STA (''ind'',X)| NOP #| SAX (''ind'',X)| bgcolor=#ffe0e0|STY ''zpg''| bgcolor=#ffe0e0|STA ''zpg''| bgcolor=#ffe0e0|STX ''zpg''| SAX ''zpg''| bgcolor=#e0e0e0|DEY| NOP #| bgcolor=#e0e0e0|TXA| ANE #| bgcolor=#e0ffff|STY ''abs''| bgcolor=#e0ffff|STA ''abs''| bgcolor=#e0ffff|STX ''abs''| SAX ''abs''|- ! 9| bgcolor=#ffffe0|BCC ''rel''| bgcolor=#ffe0ff|STA (''ind''),Y| JAM| SHA (''ind''),Y| bgcolor=#ffe0e0|STY ''zpg'',X| bgcolor=#ffe0e0|STA ''zpg'',X| bgcolor=#ffe0e0|STX ''zpg'',Y| SAX ''zpg'',Y| bgcolor=#e0e0e0|TYA| bgcolor=#e0ffff|STA ''abs'',Y| bgcolor=#e0e0e0|TXS| TAS ''abs'',Y| SHY ''abs'',X| bgcolor=#e0ffff|STA ''abs'',X| SHX ''abs'',Y| SHA ''abs'',Y|- ! A| bgcolor=#e0ffe0|LDY #| bgcolor=#ffe0ff|LDA (''ind'',X)| bgcolor=#e0ffe0|LDX #| LAX (''ind'',X)| bgcolor=#ffe0e0|LDY ''zpg''| bgcolor=#ffe0e0|LDA ''zpg''| bgcolor=#ffe0e0|LDX ''zpg''| LAX ''zpg''| bgcolor=#e0e0e0|TAY| bgcolor=#e0ffe0|LDA #| bgcolor=#e0e0e0|TAX| LXA #| bgcolor=#e0ffff|LDY ''abs''| bgcolor=#e0ffff|LDA ''abs''| bgcolor=#e0ffff|LDX ''abs''| LAX ''abs''|- ! B| bgcolor=#ffffe0|BCS ''rel''| bgcolor=#ffe0ff|LDA (''ind''),Y| JAM| LAX (''ind''),Y| bgcolor=#ffe0e0|LDY ''zpg'',X| bgcolor=#ffe0e0|LDA ''zpg'',X| bgcolor=#ffe0e0|LDX ''zpg'',Y| LAX ''zpg'',Y| bgcolor=#e0e0e0|CLV| bgcolor=#e0ffff|LDA ''abs'',Y| bgcolor=#e0e0e0|TSX| LAS ''abs'',Y| bgcolor=#e0ffff|LDY ''abs'',X| bgcolor=#e0ffff|LDA ''abs'',X| bgcolor=#e0ffff|LDX ''abs'',Y| LAX ''abs'',Y|- ! C| bgcolor=#e0ffe0|CPY #| bgcolor=#ffe0ff|CMP (''ind'',X)| NOP #| DCP (''ind'',X)| bgcolor=#ffe0e0|CPY ''zpg''| bgcolor=#ffe0e0|CMP ''zpg''| bgcolor=#ffe0e0|DEC ''zpg''| DCP ''zpg''| bgcolor=#e0e0e0|INY| bgcolor=#e0ffe0|CMP #| bgcolor=#e0e0e0|DEX| AXS #| bgcolor=#e0ffff|CPY ''abs''| bgcolor=#e0ffff|CMP ''abs''| bgcolor=#e0ffff|DEC ''abs''| DCP ''abs''|- ! D| bgcolor=#ffffe0|BNE ''rel''| bgcolor=#ffe0ff|CMP (''ind''),Y| JAM| DCP (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|CMP ''zpg'',X| bgcolor=#ffe0e0|DEC ''zpg'',X| DCP ''zpg'',X| bgcolor=#e0e0e0|CLD| bgcolor=#e0ffff|CMP ''abs'',Y| NOP| DCP ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|CMP ''abs'',X| bgcolor=#e0ffff|DEC ''abs'',X| DCP ''abs'',X|- ! E| bgcolor=#e0ffe0|CPX #| bgcolor=#ffe0ff|SBC (''ind'',X)| NOP #| ISC (''ind'',X)| bgcolor=#ffe0e0|CPX ''zpg''| bgcolor=#ffe0e0|SBC ''zpg''| bgcolor=#ffe0e0|INC ''zpg''| ISC ''zpg''| bgcolor=#e0e0e0|INX| bgcolor=#e0ffe0|SBC #| bgcolor=#e0e0e0|NOP| SBC #| bgcolor=#e0ffff|CPX ''abs''| bgcolor=#e0ffff|SBC ''abs''| bgcolor=#e0ffff|INC ''abs''| ISC ''abs''|- ! F| bgcolor=#ffffe0|BEQ ''rel''| bgcolor=#ffe0ff|SBC (''ind''),Y| JAM| ISC (''ind''),Y| NOP ''zpg'',X| bgcolor=#ffe0e0|SBC ''zpg'',X| bgcolor=#ffe0e0|INC ''zpg'',X| ISC ''zpg'',X| bgcolor=#e0e0e0|SED| bgcolor=#e0ffff|SBC ''abs'',Y| NOP| ISC ''abs'',Y| NOP ''abs'',X| bgcolor=#e0ffff|SBC ''abs'',X| bgcolor=#e0ffff|INC ''abs'',X| ISC ''abs'',X|} <br> ==Links==
*{{EnWiki|MOS_Technology_6502}}
*[[Media:SY6500 - SY65C02 datasheet.pdf]]