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
Luke schrieb: > Was passiert mit den dem Carry und Overflow Flag bei folgnden > Rechnungen: das steht im Datenblatt vom dem Prozessor - den wir nicht kennen.
Luke schrieb: > Wow, schon so viel konstruktive Antworten innerhalb zwei Minuten. Lol. wenn die Fragestellung nicht vollständig ist. Woher sollen wie wissen wie ein unbekannter Prozessor die Flags setzt?
Nachtrag: > 255 + 1 > 127 + 1 > 200 - 300 > 200 - 500 > -128 - 1 das hilft auch kaum weiter, weil es keine ASM Befehle sind. Man müsste schon schauen was der Compiler daraus gemacht hat.
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?
Luke schrieb: > Aber was gewinne >ich aus > dieser Information? schau dir einen konkreten Befehl an. Z.b. inc http://www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf Seite: 101 Dort steht welche Flags genacht wie gesetzt sind. Was du dann damit machst ist dem µC egal. Es gibt dann befehle die werten dann diese Flags aus. z.b. brne
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.