Changes
MOS 6502
,/* Illegal instructions */
! ''No arg'' !! #$nn !! $nnnn !! $nnnn,X !! $nnnn,Y !! $nn !! $nn,X !! $nn,Y !! ($nn,X) !! ($nn),Y !! N !! V !! - !! B !! D !! I !! Z !! C
|-
| ANC (ANC2) || || 0B, 2B || || || || || || || || || N || - || - || - || - || - || Z || C || A ∧ M → A, NF → CF || "AND" Memory with Accumulator then Move Negative Flag to Carry Flag
|-
| ARR || || 6B || || || || || || || || || N || V || - || - || - || - || Z || C || (A ∧ M) / 2 → A || "AND" Accumulator then Rotate Right
|-
| ASR (ALR) || || 4B || || || || || || || || || 0 || - || - || - || - || - || Z || C || (A ∧ M) / 2 → A || "AND" then Logical Shift Right
|-
| DCP (DCM) || || || CF || DF || DB || C7 || D7 || || C3 || D3 || N || - || - || - || - || - || Z || C || M - 1 → M, A - M || Decrement Memory By One then Compare with Accumulator
|-
| ISC (ISB, INS) || || || EF || FF || FB || E7 || F7 || || E3 || F3 || N || V || - || - || - || - || Z || C || M + 1 → M, A - M → A || Increment Memory By One then SBC then Subtract Memory from Accumulator with Borrow
|-
| JAM (KIL, HLT) || 02, 12, 22,
32, 42, 52,
|| || || || || || || || || || - || - || - || - || - || - || - || - || Stop execution || Halt the CPU
|-
| LAS (LAR) || || || || || BB || || || || || || N || - || - || - || - || - || Z || - || M ∧ S → A, X, S || "AND" Memory with Stack Pointer
|-
| LAX (LXA) || || '''AB''' || AF || || BF || A7 || || B7 || A3 || B3 || N || - || - || - || - || - || Z || - || M → A, X || Load Accumulator and Index Register X From Memory
|-
| NOP (DOP, TOP) || 1A, 3A, 5A,
7A, DA, FA
|| 80, 82, 89,
| RRA || || || 6F || 7F || 7B || 67 || 77 || || 63 || 73 || N || V || - || - || - || - || Z || C || CF → /M7...M0/ → CF, A + M + CF → A || Rotate Right and Add Memory to Accumulator
|-
| SAX (AXS, AAX) || || || 8F || || || 87 || || 97 || 83 || || - || - || - || - || - || - || - || - || A ∧ X → M || Store Accumulator "AND" Index Register X in Memory
|-
| SBC (USBC) || || EB || || || || || || || || || N || V || - || - || - || - || Z || C || A - M - ~CF → A || Subtract Memory from Accumulator with Borrow
|-
| SBX (AXS, SAX) || || CB || || || || || || || || || N || - || - || - || - || - || Z || C || (A ∧ X) - M → X || Subtract Memory from Accumulator "AND" Index Register X
|-
| SHA (AHX, AXA) || || || || || 9F || || || || || 93 || - || - || - || - || - || - || - || - || A ∧ X ∧ V → M || Store Accumulator "AND" Index Register X "AND" Value
|-
| SHS (TAS, XAS) || || || || || 9B || || || || || || - || - || - || - || - || - || - || - || A ∧ X → S, S ∧ (H + 1) → M || Transfer Accumulator "AND" Index Register X to Stack Pointer then Store Stack Pointer "AND" Hi-Byte In Memory
|-
| SHX (SXA, XAS) || || || || || 9E || || || || || || - || - || - || - || - || - || - || - || X ∧ (H + 1) → M || Store Index Register X "AND" Value
|-
| SHY (SYA, SAY) || || || || 9C || || || || || || || - || - || - || - || - || - || - || - || Y ∧ (H + 1) → M || Store Index Register Y "AND" Value
|-
| SLO (ASO) || || || 0F || 1F || 1B || 07 || 17 || || 03 || 13 || N || - || - || - || - || - || Z || C || M * 2 → M, A ∨ M → A || Arithmetic Shift Left then "OR" Memory with Accumulator
|-
| SRE (LSE) || || || 4F || 5F || 5B || 47 || 57 || || 43 || 53 || N || - || - || - || - || - || Z || C || M / 2 → M, A ⊻ M → A || Logical Shift Right then "Exclusive OR" Memory with Accumulator
|-
| XAA (ANE) || || '''8B''' || || || || || || || || || N || - || - || - || - || - || Z || - || (A ∨ V) ∧ X ∧ M → A || Non-deterministic Operation of Accumulator, Index Register X, Memory and Bus Contents
|}