ADC Add memory to accumulator with carry ADC
Operation: A + M + C -> A, C N V - B D I Z C
/ / . . . . / /
+----------------+-----------------------+---------+---------+----------+
| Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles|
+----------------+-----------------------+---------+---------+----------+
| Immediate | ADC #$FF | $69 | 2 | 2 |
| ZeroPage | ADC $FF | $65 | 2 | 3 |
| ZeroPage,X | ADC $FF,X | $75 | 2 | 4 |
| Absolute | ADC $FFFF | $6D | 3 | 4 |
| Absolute,X | ADC $FFFF,X | $7D | 3 | 4* |
| Absolute,Y | ADC $FFFF,Y | $79 | 3 | 4* |
| (Indirect,X) | ADC ($FF,X) | $61 | 2 | 6 |
| (Indirect),Y | ADC ($FF),Y | $71 | 2 | 5* |
+----------------+-----------------------+---------+---------+----------+
* Add 1 if page boundary is crossed.
For penalty cycles on the 65816, check the desired addressing mode.
Note: See CPU-Bugs for a description how flags are affected.
65816 Extensions:
+----------------+-----------------------+---------+---------+----------+
| Addressing Mode| Assembly Language Form| OP CODE |No. Bytes|No. Cycles|
+----------------+-----------------------+---------+---------+----------+
| AbsoluteLong | ADC $FFFFFF | $6F | 4 | 5 |
| AbsoluteLong,X | ADC $FFFFFF,X | $7F | 4 | 5 |
| (Indirect) | ADC ($FF) | $72 | 2 | 5 |
| [Indirect Long]| ADC [$FF] | $67 | 2 | 6 |
| [Ind.Long],Y | ADC [$FF],Y | $77 | 2 | 6 |
| Relative,S | ADC $FF,S | $63 | 2 | 4 |
| (Indirect,S),Y | ADC ($FF,S),Y | $73 | 2 | 7 |
+----------------+-----------------------+---------+---------+----------+
|