Changes

MOS 6502

2,287 bytes added, 22:57, 2 September 2024
|-
| PC (Program Counter) || 16-bit || Points to the next instruction to be executed || Automatically increments as instructions are executed
|}
 
<br>
 
== 6502 Instruction set ==
 
For cycles, p=1 if page is crossed, t=1 if branch is taken.
 
=== Letter A ===
 
{| class="wikitable" style="white-space: nowrap;"
|-
! Instruction !! Opcode !! Cycles !! N !! V !! B !! D !! I !! Z !! C !! Operation !! Description
|-
| ADC #$nn || $69 || 2 ||rowspan=8| + ||rowspan=8| + ||rowspan=8| - ||rowspan=8| - ||rowspan=8| - ||rowspan=8| + ||rowspan=8| + ||rowspan=8| A + M + C → A, C ||rowspan=8| Add Memory to Accumulator with Carry
|-
| ADC $nnnn || $6D || 4
|-
| ADC $nnnn,X || $7D || 4+p
|-
| ADC $nnnn,Y || $79 || 4+p
|-
| ADC $nn || $65 || 3
|-
| ADC $nn,X || $75 || 4
|-
| ADC ($nn,X) || $61 || 6
|-
| ADC ($nn),Y || $71 || 5+p
|-
| ANC #$nn || '''$0B''' || 2 ||rowspan=2| + ||rowspan=2| - ||rowspan=2| - ||rowspan=2| - ||rowspan=2| - ||rowspan=2| + ||rowspan=2| + ||rowspan=2| A ∧ M → A, N → C ||rowspan=2| "AND" Memory with Accumulator then Move Negative Flag to Carry Flag
|-
| ANC #$nn || '''$2B''' || 2
|-
| AND #$nn || $29 || 2 ||rowspan=8| + ||rowspan=8| + ||rowspan=8| - ||rowspan=8| - ||rowspan=8| - ||rowspan=8| + ||rowspan=8| - ||rowspan=8| A ∧ M → A ||rowspan=8| "AND" Memory with Accumulator
|-
| AND $nnnn || $2D || 4
|-
| AND $nnnn,X || $3D || 4+p
|-
| AND $nnnn,Y || $39 || 4+p
|-
| AND $nn || $25 || 3
|-
| AND $nn,X || $35 || 4
|-
| AND ($nn,X) || $21 || 6
|-
| AND ($nn),Y || $31 || 5+p
|-
| ARR #$nn || '''$6B''' || 2 || + || + || - || - || - || + || + || (A ∧ M) / 2 → A || "AND" Accumulator then Rotate Right
|-
| ASL A || $0A || 2 ||rowspan=5| + ||rowspan=5| - ||rowspan=5| - ||rowspan=5| - ||rowspan=5| - ||rowspan=5| + ||rowspan=5| + ||rowspan=5| C ← /M7...M0/ ← 0 ||rowspan=5| Arithmetic Shift Left
|-
| ASL $nnnn || $0E || 6
|-
| ASL $nnnn,X || $1E || 7
|-
| ASL $nn || $06 || 5
|-
| ASL $nn,X || $16 || 6
|-
| ASR #$nn || '''$4B''' || 2 || 0 || - || - || - || - || + || + || (A ∧ M) / 2 → A || "AND" then Logical Shift Right
|}
12,636
edits