Assembly-Grundlagen 2.3 – Flag-Register

  • Es gibt einige Bits im Flag-Register, die die Reaktion der CPU in verschiedenen Situationen steuern (die Zusammenfassung des Anfängers Xiaobai, derzeit ein kleiner Datensatz, wird nach eingehender Untersuchung ergänzt und perfektioniert).
  • Normalerweise wirken sich arithmetische Anweisungen auf die Änderung des Flags im Flagregister aus

0 Bit Carry Flag (CF): Carry Flag

  • Wenn das Ergebnis der arithmetischen Operation im höchstwertigen Bit (Most-Significant Bit) einen Carry oder Borrow aufweist, wird es auf 1 gesetzt, andernfalls auf 0
  • Dieses Flag zeigt normalerweise den Überlaufstatus von Operationen mit vorzeichenlosen Ganzzahlen an

2-Bit-Paritätsflag (PF): Paritätsflag

  • Auf 1 gesetzt, wenn das niedrigstwertige Byte des Ergebnisses eine gerade Anzahl von Einsen enthält, andernfalls auf 0
  • Paritätsprüfung möglich

4-Bit-Assistent-Carry-Flag (AF): Hilfs-Carry-Flag

  • Tritt im dritten Bit der Rechenoperation ein Carry oder Borrow auf, wird es auf 1 gesetzt, andernfalls auf 0
  • Wird in arithmetischen BCD-Operationen (Binärcode-Dezimal) verwendet

6 Bit (ZF): Null-Flag

  • Wenn das Ergebnis der entsprechenden Anweisung 0 ist, setzen Sie es auf 1, andernfalls auf 0

7 Bits (SF): Vorzeichen-Flag

  • Ist das Ergebnis der jeweiligen Anweisung negativ, wird es auf 1 gesetzt, andernfalls auf 0

8 Bit (TF): Einzelschritt-Flag

  • Wenn TF = 1 ist, führt der Prozessor jeweils nur einen Befehl aus, dh die Ausführung erfolgt in einem Schritt

9 Bits (IF): Interrupt-Aktivierungsflag

  • Wenn IF = 1, kann die CPU auf die Interrupt-Anfrage reagieren, die von einem maskierbaren Interrupt außerhalb der CPU ausgegeben wird
  • Wenn IF = 0, antwortet die CPU nicht auf die Interrupt-Anfrage, die von einem maskierbaren Interrupt außerhalb der CPU ausgegeben wird
  • Bestimmt, ob die CPU von externen Interrupt-Anforderungen betroffen ist

Bit 10 (DF): Richtungsflag

  • Richtungsflag beim Ausführen bestimmter String-Operationsanweisungen (z. B. lodsb, cmpsb)
  • Bei DF=0 werden die SI- und DI-Register automatisch inkrementiert; bei DF=01 werden die SI- und DI-Register automatisch dekrementiert

11 Bit (OF): Überlaufflag

  • Zeichnen Sie auf, ob das Ergebnis der signierten Operation überläuft. Wenn ein Überlauf auftritt, wird es auf 1 gesetzt, andernfalls wird es auf 0 gesetzt

Guess you like

Origin blog.csdn.net/Dugege007/article/details/103848156