Frage zum adc und add-Befehl?

OP #446026
Lesenswert?

kurze Frage zum add-Befehl wenn ich 2 Register addiere die jeweils auf 
255 stehen dann müsste ja das Ergebniss 9Bits groß sein. Wo wird dieses 
9 bit abgelegt im Carry?

bei dieser 16bit Addition:
add Zahl1l, Zahl2l
adc Zahl1h, Zahl2h
müsste es ja auch ein 17bit geben landet das auch im Carry. Laut dem 
Instruction set werden mit adc 2 Register und der Inhalt des Carry-Flags 
addiert, also muss ja das Carry durch die vorherige Addition gesetzt 
werden wenn das Ergebniss über 8bit hinausgeht.
Gast #446030
Lesenswert?

Wenn Du zwei Zahlen addierst und es entsteht ein Überlauf, dann wird das 
Carry-Flag gesetzt. Wenn es keinen Überlauf gibt, wird das Carry-Flag 
gelöscht.
Wenn es bei "add Zahl1l, Zahl2l" einen Überlauf gibt, wird das Carry 
gesetzt. Bei "adc Zahl1h, Zahl2h" wird dann das Carry von der 
Low-Byte-Addition zum Ergebnis der High-Byte-Addition hinzugefügt. Wo 
ist das Problem?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren