EFLAGS
Aus Lowlevel
Version vom 2. November 2008, 13:52 Uhr von Livinskull (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Das EFLAGS (Programmstatus und Kontrollregister) Register ist 32 Bit groß, wobei jedes Bit ein Flag repräsentiert. Es beinhaltet Status-Informationen über das laufen...)
Das EFLAGS (Programmstatus und Kontrollregister) Register ist 32 Bit groß, wobei jedes Bit ein Flag repräsentiert. Es beinhaltet Status-Informationen über das laufende Programm und erlaubt anwendungsbasierte Prozessorkontrolle. Das Register kann nicht komplett verändert werden, es können nur die einzelnen Flags gesetzt oder gelöscht werden, meistens auch nur indirekt, in der Form das ein aufgerufener Befehl ein Flag als nebeneffekt ändert.
Aufbau des EFLAGS-Registers
Im folgenden steht (X) für Systemflag, (S) für Statusflag und (C) für Controlflag
| Bit | Beschreibung |
|---|---|
| 22-31 | Reserviert, nicht verändern |
| 21 | ID - ID Flag (X) |
| 20 | VIP - Virtual Interrupt Pending (X) |
| 19 | VIF - Virtual Interrupt Flag (X) |
| 18 | AC - Alignment Check (X) |
| 17 | VM - Virtual 8086 Mode (X) |
| 16 | RF - Resume Flag (X) |
| 15 | Reserviert, nicht ändern |
| 14 | NT - Nested Task Flag (X) |
| 13 - 12 | IOPL - I/O Privilege Level (X) |
| 11 | OF - Overflow Flag (S) |
| 10 | DF - Direction Flag (C) |
| 9 | IF - Interrupt Enable Flag (X) |
| 8 | TF - Trap Flag (X) |
| 7 | SF - Sign Flag (S) |
| 6 | ZF - Zero Flag (S) |
| 5 | Reserviert, nicht ändern |
| 4 | AF - Auxiliary Carry Flag (S) |
| 3 | Reserviert, nicht ändern |
| 2 | PF - Parity Flag (S) |
| 1 | Reserviert, nicht ändern |
| 0 | CF - Carry Flag (S) |
Befehle zum direkten Verändern
- PUSHF
- PUSHFD
- POPF
- POPFD
- LAHF
- SAHF