Herwig Siebenhofer
 / Home / 6502
 
6502 Op-Codes

   • ADC
   • AND
   • ASL
   • BCC
   • BCS
   • BEQ
   • BIT
   • BMI
   • BNE
   • BPL
   • BRK
   • BVC
   • BVS
   • CLC
   • CLD
   • CLI
   • CLV
   • CMP
   • CPX
   • CPY
   • DEC
   • DEX
   • DEY
   • EOR
   • INC
   • INX
   • INY
   • JMP
   • JSR
   • LDA
   • LDX
   • LDY
   • LSR
   • NOP
   • ORA
   • PHA
   • PHP
   • PLA
   • PLP
   • ROL
   • ROR
   • RTI
   • RTS
   • SBC
   • SEC
   • SED
   • SEI
   • STA
   • STX
   • STY
   • TAX
   • TAY
   • TSX
   • TXA
   • TXS
   • TYA

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.

ModusSyntaxHexLängeZyklen
unmittelbarADC #$116922
Zero PageADC $226523
Zero Page,XADC $33,X7524
absolutADC $44006D34
absolut,XADC $5500,X7D34+
absolut,YADC $6600,Y7934+
indirekt,XADC ($77,X)6126
indirekt,YADC ($88),Y7125+
+ ... 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.