| Zeile 30: | Zeile 30: | ||
| 13 - 12 || IOPL - <b>I</b>/<b>O</b> <b>P</b>rivilege <b>L</b>evel (X) | | 13 - 12 || IOPL - <b>I</b>/<b>O</b> <b>P</b>rivilege <b>L</b>evel (X) | ||
|- | |- | ||
| − | | 11 || OF - <b>O</b>verflow <b>F</b>lag (S) | + | | 11 || [[#OF - Overflow Flag (Bit 11)|OF - <b>O</b>verflow <b>F</b>lag]] (S) |
|- | |- | ||
| 10 || DF - <b>D</b>irection <b>F</b>lag (C) | | 10 || DF - <b>D</b>irection <b>F</b>lag (C) | ||
| Zeile 38: | Zeile 38: | ||
| 8 || TF - <b>T</b>rap <b>F</b>lag (X) | | 8 || TF - <b>T</b>rap <b>F</b>lag (X) | ||
|- | |- | ||
| − | | 7 || SF - <b>S</b>ign <b>F</b>lag (S) | + | | 7 || [[#SF - Sign Flag (Bit 7)|SF - <b>S</b>ign <b>F</b>lag]] (S) |
|- | |- | ||
| − | | 6 || ZF - <b>Z</b>ero <b>F</b>lag (S) | + | | 6 || [[#ZF - Zero Flag (Bit 6)|ZF - <b>Z</b>ero <b>F</b>lag]] (S) |
|- | |- | ||
| 5 || Reserviert, nicht ändern | | 5 || Reserviert, nicht ändern | ||
|- | |- | ||
| − | | 4 || AF - <b>A</b>uxiliary Carry <b>F</b>lag (S) | + | | 4 || [[#AF - Adjust Flag (Bit 4)|AF - <b>A</b>uxiliary Carry <b>F</b>lag]] (S) |
|- | |- | ||
| 3 || Reserviert, nicht ändern | | 3 || Reserviert, nicht ändern | ||
|- | |- | ||
| − | | 2 || PF - <b>P</b>arity <b>F</b>lag (S) | + | | 2 || [[#PF - Parity Flag (Bit 2)|PF - <b>P</b>arity <b>F</b>lag]] (S) |
|- | |- | ||
| 1 || Reserviert, nicht ändern | | 1 || Reserviert, nicht ändern | ||
| Zeile 58: | Zeile 58: | ||
=== Statusflags === | === Statusflags === | ||
| − | Die Statusflags (Bits 0,2,4,6,7,11) geben das Ergebnis einer Arithmetischen Operation an (z. B.: ADD, SUB, MUL, DIV). | + | Die Statusflags (Bits 0,2,4,6,7,11) geben das Ergebnis einer Arithmetischen Operation an (z. B.: ADD, SUB, MUL, DIV). Verwendet werden sie normalerweise in Verbindung mit bedingten Sprüngen, sets, movs, und loops (Jcc, SETcc, MOVcc, LOOPcc; cc = conditional code). |
==== CF - Carry Flag (Bit 0) ==== | ==== CF - Carry Flag (Bit 0) ==== | ||
Zeigt einen Overflow bei unsigned-Arithmetik an | Zeigt einen Overflow bei unsigned-Arithmetik an | ||
| + | ==== PF - Parity Flag (Bit 2) ==== | ||
| + | Gesetzt wenn das niederwertige Byte des Ergebnisses eine gerade Anzahl an 1er Bits enthält. | ||
| + | ==== AF - Adjust Flag (Bit 4) ==== | ||
| + | Gesetzt wenn ein Übertrag von Bit 3 stattgefunden hat. | ||
| + | Wird hauptsächlich für [[BCD]] Berechnungen verwendet. | ||
| + | |||
| + | ==== ZF - Zero Flag (Bit 6) ==== | ||
| + | Gesetzt wenn das Ergebnis 0 ist. | ||
| + | |||
| + | ==== SF - Sign Flag (Bit 7) ==== | ||
| + | Entspricht dem höherwertigsten Bit des Ergebnisses, also dem Vorzeichenbit bei signed-Berechnungen. | ||
| + | 0 steht für einen positiven Wert und 1 für einen negativen. | ||
| + | |||
| + | ==== OF - Overflow Flag (Bit 11) ==== | ||
| + | Gesetzt wenn ein Overflow bei einer signed-Zahl stattgefunden hat. | ||
=== Controlflags === | === Controlflags === | ||