Bitte aktiviere JavaScript!
8086/88 Assembler Befehlsreferenz ADC

Add with carry.

Addiere unter Berücksichtigung der Übertragsmarke Carry-Flag.

Syntax:

ADC

ADC addiert zwei Zahlen (Worte oder Bytes). Der <Zieloperand> wird zum Quelloperanden addiert und das Ergebnis im Zieloperanden gespeichert. Es können Speicherinhalte zu Registern addiert werden und umgekehrt oder unmittelbare Werte zu Registern oder Speicherinhalten. Bei der Addition wird ein möglicher Übertrag im Carry-Flag berücksichtigt. Das heißt, es wird zusätzlich eine Eins addiert, wenn das Carry-Flag gesetzt ist. Der Befehl wird dann verwendet, wenn vor der Addition eine Operation ausgeführt wurde, die eventuell das Ergebnis der Addition beeinflussen könnte. Wenn zum Beispiel zwei 32-Bit-Operanden addiert werden, dann kann die Addition in zwei Schritten ausgeführt werden. Zuerst werden die unteren beiden Worte addiert (ohne Übertrag, also mit dem ADD-Befehl oder mit ADC und gelöschtem Carry-Flag). Dann werden die oberen beiden Worte mit dem ADC-Befehl addiert. Dabei geht ein eventueller Übertrag aus der ersten Summe mit in die zweite Summe ein.

Beispiel:

MOV AX,LOW_WORT1 ;lade unteres Wort1
MOV BX,LOW_WORT2 ;lade unteres Wort2
ADD AX,BX ;addiere ohne Carry
MOV CX,HIGH_WORT1 ;lade oberes Wort1
MOV DX,HIGH_WORT2 ;lade oberes Wort2
ADC CX,DX ;addiere, berücksichtige möglichen Übertrag