Changes

Jump to: navigation, search

6502

285 bytes removed, 22 September
/* Standard instructions */
{| class="wikitable" style="white-space: nowrap;"
|-
! rowspan=2|Mnemonic !! colspan=13|Addressing Modes !! colspan=87|Flags !! rowspan=2|Operation !! rowspan=2|Description
|-
! ''No arg'' !! A !! #$nn !! $nnnn !! $nnnn,X !! $nnnn,Y !! ($nnnn) !! $nn !! $nn,X !! $nn,Y !! ($nn,X) !! ($nn),Y !! rel !! N !! V !! - !! B !! D !! I !! Z !! C
|-
| ADC || || || 69 (2) || 6D (4) || 7D (4+p) || 79 (4+p) || || 65 (3) || 75 (4) || || 61 (6) || 71 (5+p) || || N || V || - || - || - || - || Z || C || A + M + CF → A, CF || Add Memory to Accumulator with Carry
|-
| AND || || || 29 (2) || 2D (4) || 3D (4+p) || 39 (4+p) || || 25 (3) || 35 (4) || || 21 (6) || 31 (5+p) || || N || - || - || - || - || - || Z || - || A ∧ M → A || "AND" Memory with Accumulator
|-
| ASL || || 0A (2) || || 0E (6) || 1E (7) || || || 06 (5) || 16 (6) || || || || || N || - || - || - || - || - || Z || C || CF ← /M<sub>7</sub>...M<sub>0</sub>/ ← 0 || Arithmetic Shift Left
|-
| BCC || || || || || || || || || || || || || 90 (2+t+p) || - || - || - || - || - || - || - || - || Branch on CF = 0 || Branch on Carry Clear
|-
| BCS || || || || || || || || || || || || || B0 (2+t+p) || - || - || - || - || - || - || - || - || Branch on CF = 1 || Branch on Carry Set
|-
| BEQ || || || || || || || || || || || || || F0 (2+t+p) || - || - || - || - || - || - || - || - || Branch on ZF = 1 || Branch on Result Zero
|-
| BIT || || || || 2C (4) || || || || 24 (3) || || || || || || N || V || - || - || - || - || Z || - || A ∧ M, M<sub>7</sub> → NF, M<sub>6</sub> → VF || Test Bits in Memory with Accumulator
|-
| BMI || || || || || || || || || || || || || 30 (2+t+p) || - || - || - || - || - || - || - || - || Branch on NF = 1 || Branch on Result Minus
|-
| BNE || || || || || || || || || || || || || D0 (2+t+p) || - || - || - || - || - || - || - || - || Branch on ZF = 0 || Branch on Result Not Zero
|-
| BPL || || || || || || || || || || || || || 10 (2+t+p) || - || - || - || - || - || - || - || - || Branch on NF = 0 || Branch on Result Plus
|-
| BRK || 00 (7) || || || || || || || || || || || || || - || - || - || 1 || - || 1 || - || - || PC + 2↓, [FFFE] → PCL, [FFFF] → PCH || Force Interrupt
|-
| BVC || || || || || || || || || || || || || 50 (2+t+p) || - || - || - || - || - || - || - || - || Branch on VF = 0 || Branch on Overflow Clear
|-
| BVS || || || || || || || || || || || || || 70 (2+t+p) || - || - || - || - || - || - || - || - || Branch on VF = 1 || Branch on Overflow Set
|-
| CLC || 18 (2) || || || || || || || || || || || || || - || - || - || - || - || - || - || 0 || 0 → CF || Clear Carry Flag
|-
| CLD || D8 (2) || || || || || || || || || || || || || - || - || - || - || 0 || - || - || - || 0 → DF || Clear Decimal Mode
|-
| CLI || 58 (2) || || || || || || || || || || || || || - || - || - || - || - || 0 || - || - || 0 → IF || Clear Interrupt Disable
|-
| CLV || B8 (2) || || || || || || || || || || || || || - || 0 || - || - || - || - || - || - || 0 → VF || Clear Overflow Flag
|-
| CMP || || || C9 (2) || CD (4) || DD (4+p) || D9 (4+p) || || C5 (3) || D5 (4) || || C1 (6) || D1 (5+p) || || N || - || - || - || - || - || Z || C || A - M || Compare Memory and Accumulator
|-
| CPX || || || E0 (2) || EC (4) || || || || E4 (3) || || || || || || N || - || - || - || - || - || Z || C || X - M || Compare Index Register X To Memory
|-
| CPY || || || C0 (2) || CC (4) || || || || C4 (3) || || || || || || N || - || - || - || - || - || Z || C || Y - M || Compare Index Register Y To Memory
|-
| DEC || || || || CE (6) || DE (7) || || || C6 (5) || D6 (6) || || || || || N || - || - || - || - || - || Z || - || M - 1 → M || Decrement Memory By One
|-
| DEX || CA (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || X - 1 → X || Decrement Index Register X By One
|-
| DEY || 88 (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || Y - 1 → Y || Decrement Index Register Y By One
|-
| EOR || || || 49 (2) || 4D (4) || 5D (4+p) || 59 (4+p) || || 45 (3) || 55 (4) || || 41 (6) || 51 (5+p) || || N || - || - || - || - || - || Z || - || A ⊻ M → A || "Exclusive OR" Memory with Accumulator
|-
| INC || || || || EE (6) || FE (7) || || || E6 (5) || F6 (6) || || || || || N || - || - || - || - || - || Z || - || M + 1 → M || Increment Memory By One
|-
| INX || E8 (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || X + 1 → X || Increment Index Register X By One
|-
| INY || C8 (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || Y + 1 → Y || Increment Index Register Y By One
|-
| JMP || || || || 4C (3) || || || 6C (5) || || || || || || || - || - || - || - || - || - || - || - || [PC + 1] → PCL, [PC + 2] → PCH || Jump
|-
| JSR || || || || 20 (6) || || || || || || || || || || - || - || - || - || - || - || - || - || PC + 2↓, [PC + 1] → PCL, [PC + 2] → PCH || Jump To Subroutine
|-
| LDA || || || A9 (2) || AD (4) || BD (4+p) || B9 (4+p) || || A5 (3) || B5 (4) || || A1 (6) || B1 (5+p) || || N || - || - || - || - || - || Z || - || M → A || Load Accumulator with Memory
|-
| LDX || || || A2 (2) || AE (4) || || BE (4+p) || || A6 (3) || || B6 (4) || || || || N || - || - || - || - || - || Z || - || M → X || Load Index Register X From Memory
|-
| LDY || || || A0 (2) || AC (4) || BC (4+p) || || || A4 (3) || B4 (4) || || || || || N || - || - || - || - || - || Z || - || M → Y || Load Index Register Y From Memory
|-
| LSR || || 4A (2) || || 4E (6) || 5E (7) || || || 46 (5) || 56 (6) || || || || || 0 || - || - || - || - || - || Z || C || 0 → /M<sub>7</sub>...M<sub>0</sub>/ → CF || Logical Shift Right
|-
| NOP || EA (2) || || || || || || || || || || || || || - || - || - || - || - || - || - || - || No operation || No Operation
|-
| ORA || || || 09 (2) || 0D (4) || 1D (4+p) || 19 (4+p) || || 05 (3) || 15 (4) || || 01 (6) || 11 (5+p) || || N || - || - || - || - || - || Z || - || A ∨ M → A || "OR" Memory with Accumulator
|-
| PHA || 48 (3) || || || || || || || || || || || || || - || - || - || - || - || - || - || - || A↓ || Push Accumulator On Stack
|-
| PHP || 08 (3) || || || || || || || || || || || || || - || - || - || - || - || - || - || - || P↓ || Push Processor Status on Stack
|-
| PLA || 68 (4) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || (S)↑ → A || Pull Accumulator From Stack
|-
| PLP || 28 (4) || || || || || || || || || || || || || N || V || - || - || D || I || Z || C || (S)↑ → P || Pull Processor Status From Stack
|-
| ROL || || 2A (2) || || 2E (6) || 3E (7) || || || 26 (5) || 36 (6) || || || || || N || - || - || - || - || - || Z || C || CF ← /M<sub>7</sub>...M<sub>0</sub>/ ← CF || Rotate One Bit Left (Memory or Accumulator)
|-
| ROR || || 6A (2) || || 6E (6) || 7E (7) || || || 66 (5) || 76 (6) || || || || || N || - || - || - || - || - || Z || C || CF → /M<sub>7</sub>...M<sub>0</sub>/ → CF || Rotate One Bit Right (Memory or Accumulator)
|-
| RTI || 40 (6) || || || || || || || || || || || || || N || V || - || - || D || I || Z || C || (S)↑ → P, (S)↑ → PCL, (S)↑ → PCH || Return From Interrupt
|-
| RTS || 60 (6) || || || || || || || || || || || || || - || - || - || - || - || - || - || - || (S)↑ → PCL, (S)↑ → PCH, PC + 1 → PC || Return From Subroutine
|-
| SBC || || || E9 (2) || ED (4) || FD (4+p) || F9 (4+p) || || E5 (3) || F5 (4) || || E1 (6) || F1 (5+p) || || N || V || - || - || - || - || Z || C || A - M - (1 - CF) → A || Subtract Memory from Accumulator with Borrow
|-
| SEC || 38 (2) || || || || || || || || || || || || || - || - || - || - || - || - || - || 1 || 1 → CF || Set Carry Flag
|-
| SED || F8 (2) || || || || || || || || || || || || || - || - || - || - || 1 || - || - || - || 1 → DF || Set Decimal Mode
|-
| SEI || 78 (2) || || || || || || || || || || || || || - || - || - || - || - || 1 || - || - || 1 → IF || Set Interrupt Disable
|-
| STA || || || || 8D (4) || 9D (5) || 99 (5) || || 85 (3) || 95 (4) || || 81 (6) || 91 (6) || || - || - || - || - || - || - || - || - || A → M || Store Accumulator in Memory
|-
| STX || || || || 8E (4) || || || || 86 (3) || || 96 (4) || || || || - || - || - || - || - || - || - || - || X → M || Store Index X in Memory
|-
| STY || || || || 8C (4) || || || || 84 (3) || 94 (4) || || || || || - || - || - || - || - || - || - || - || Y → M || Store Index Y in Memory
|-
| TAX || AA (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || A → X || Transfer Accumulator to Index X
|-
| TAY || A8 (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || A → Y || Transfer Accumulator to Index Y
|-
| TSX || BA (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || S → X || Transfer Stack Pointer to Index X
|-
| TXA || 8A (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || X → A || Transfer Index X to Accumulator
|-
| TXS || 9A (2) || || || || || || || || || || || || || - || - || - || - || - || - || - || - || X → S || Transfer Index X to Stack Pointer
|-
| TYA || 98 (2) || || || || || || || || || || || || || N || - || - || - || - || - || Z || - || Y → A || Transfer Index Y to Accumulator
|}
8,324
edits