6502 Op-Codes
Archiv
Kurzübersicht
Zahlentabelle
6502 Varianten
6502 Register
Adressierungen
illegale Ops
6502 Bugs
| |
ADC Add with Carry Addieren mit Carry-Flag
Grundsätzlich werden Bytewerte addiert. Bei einem Übertrag wird das Carry-Flag gesetzt, ansonsten gelöscht. Wird bei gesetztem Carry-Flag weiter addiert wird das Carry-Flag in der Addition mitberücksichtigt, so dass nicht ein 8-Bit sondern ein 9-Bit Wert für diesen Additionsbefehl zur Verfügung steht. Ist der Anfangswert ein 8-Bit Wert, so muss sichergesetllt sein, dass das Carry-Flag gelöscht ist bswp. mit CLC.
Modus | Syntax | Hex | Länge | Zyklen |
unmittelbar | ADC #$11 | 69 | 2 | 2 |
Zero Page | ADC $22 | 65 | 2 | 3 |
Zero Page,X | ADC $33,X | 75 | 2 | 4 |
absolut | ADC $4400 | 6D | 3 | 4 |
absolut,X | ADC $5500,X | 7D | 3 | 4+ |
absolut,Y | ADC $6600,Y | 79 | 3 | 4+ |
indirekt,X | ADC ($77,X) | 61 | 2 | 6 |
indirekt,Y | ADC ($88),Y | 71 | 2 | 5+ |
+ ... zusätzlicher Taktzyklus bei erhöhtem Hi-Byte
| |
beeinflußte Flags |
N | Negativ-Flag |
V | Overflow-Flag |
Z | Zero-Flag |
C | Carry-Flag |
|
Besonderheit:
Die Berechnung ist unabhängig vom Zustand des Decimal-Flags. Der Befehl ADC führt deshalb bei BCD-Werten zu einem fehlerhaften Ergebnis.
| |