Statusregister

Gast #5074502
Lesenswert?

Hallo liebe Community,

ich studiere Elektrotechnik und Informationstechnik und habe eine 
seeeehr allgemeine Frage zum Statusregister.

Es geht um die folgenden Bits:

Carry-Flag
Overflow-Flag

Wie genau unterscheiden sich diese Flags?

Ich nehme an das man erstmal die beiden Fälle unterscheiden muss:

-negative(r) Operand(en)
-possitive(r) Operand(en)

Kann mir jemand explizit Rechnungen zeigen bei dem nur das ein oder das 
andere oder beide Bits gesetzt werden ?

Ich weiß wie ein Subtraktion mit 2er-Kompl. durchgefuehrt wird.
Gehen wir von einem 8bit int aus, also 0-255 für unsigned und (-128) - 
(127) für signed :

Unser Prozessor rechnet mit 2er-Kompl. Also interpretiert er Zahlen die 
eine "1" im MSB habeninterpetiert er als negative Zahlen.

Was passiert mit den dem Carry und Overflow Flag bei folgnden 
Rechnungen:

255 + 1
127 + 1
200 - 300
200 - 500
-128 - 1

Welche Fälle sind noch interessant ?

Vielen Dank im Voraus.

Liebe Grüße
Luke
Gast #5074550
Lesenswert?

Wohl wahr,

es geht um den ATmega128.



• Bit 3 – V: Two’s Complement Overflow Flag
The Two’s Complement Overflow Flag V supports two’s complement 
arithmetics.

>???

• Bit 2 – N: Negative Flag
The Negative Flag N indicates a negative result in an arithmetic or 
logic operation.

>Ist high wenn MSB high ist ???? (Also eine negative Zahl erkannt wurde)

• Bit 0 – C: Carry Flag
The Carry Flag C indicates a carry in an arithmetic or logic operation.


>Ist high wenn das Ergebnis nicht mehr in den gültigen Zahlenbereich >passt ? 
unabhängig von Vorzeichen ?

• Bit 4 – S: Sign Bit, S = N ⊕ V
The S-bit is always an exclusive or between the negative flag N and the 
two’s complement overflow
flag V.


>Bit 4 scheint XOR Verknüpfung von Bit 3 und 2 zu sein:
>Ist also high wenn entweder Bit2 oder Bit 3 high ist. Aber was gewinne >ich aus 
dieser Information?

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