| #AC |
|---|
| 1 | Der Alignment-Check ist aktiviert, der CPL ist 3, und es wird ein nicht ausgerichtetes Datum vorgefunden. |
|
| #BR |
|---|
| 1 | Das Testergebnis liegt außerhalb der im Operanden vorgegebenen Grenzen. |
|
| #DB |
|---|
| 1 | Das GD-Flag in Debug-Register DR7 ist gesetzt, und es wird auf ein Debug-Register zugegriffen. |
|
| #DE |
|---|
| 1 | Der Operand hat den Wert $00. |
| 2 | Der Divisor (Quelloperand) hat den Wert $00. |
| 3 | Das Ergebnis ist im Format des Zieloperanden nicht darstellbar. |
|
| #GP |
|---|
| Allgemein |
| 1 | Der Protected-Mode ist nicht aktiv. |
| 2 | Die Funktion kann im Virtual-8086-Mode nicht ausgeführt werden. |
|
| Null-Selektoren |
| 3 | Auf das DS-, ES-, FS- oder GS-Register wird zugegriffen, der enthaltene Selektor ist aber ein Null-Selektor. |
| 4 | Der im Zieloperanden, Interrupt-Gate, Trap-Gate, Call-Gate, Task-Gate oder Task-State-Segment verzeichnete Selektor ist ein Null-Selektor. |
| 5 | Der im Gate verzeichnete Selektor für das Codesegment ist ein Null-Selektor. |
| 6 | Der in das SS-Register zu ladende Selektor ist ein Null-Selektor. |
| 7 | Die Ziel-/Rücksprungadresse ist Null, oder der Selektor für das Stacksegment ist ein Null-Selektor. |
|
| Grenzüberschreitungen |
| 8 | Die verwendete Speicheradresse liegt außerhalb des durch den Selektor in CS, DS, ES, FS oder GS ausgewählten Segments. |
| 9 | Die verwendete Speicheradresse liegt außerhalb des adressierbaren Bereichs von $0000 bis $FFFF. |
| 10 | Die Rücksprungadresse bzw. die Zieladresse im Operanden, Call-Gate oder Task-Switch-State liegt nicht im anzuspringenden Codesegment. |
| 11 | Die Zieladresse im Codesegment liegt außerhalb des adressierbaren Bereichs von $0000 bis $FFFF für das Codesegment, weil ein ADRSIZE-Präfix verwendet wurde. |
| 12 | Der Selektor für das Codesegment, das Gate oder den Task-Switch-State zeigt nicht in eine Deskriptortabelle. |
| 13 | Der Selektor für das Codesegment oder Stacksegment für den Rücksprung zeigt nicht in eine Deskriptortabelle. |
| 14 | Der Selektor zeigt auf einen Eintrag außerhalb der verwendeten Tabelle. |
| 15 | Der Selektor zeigt auf eine LDT oder eine Stelle außerhalb der GDT. |
| 16 | Eine Interruptnummer zeigt auf einen Vektor außerhalb der IDT. |
| 17 | Die Einsprungadresse in der IDT, im Interrupt-Gate, Trap-Gate oder Task-Gate liegt nicht in einem Codesegment. |
| 18 | Das EBP-Register zeigt auf eine Adresse, die außerhalb des Stack-Segments liegt. |
| 19 | Das EBP-Register zeigt auf eine Adresse, die außerhalb des adressierbaren Bereichs von $0000 bis $FFFF liegt. |
|
| Falsche Segmente |
| 20 | Das Ziel der Operation liegt in einem als non-writable markierten Segment. |
| 21 | Der Selektor, der in das SS-Register geladen werden soll, zeigt auf ein als non-writable markiertes Segment. |
| 22 | Der Selektor, der in das DS-, ES-, FS- oder GS-Register geladen werden soll, zeigt nicht auf ein als readable markiertes Code- oder Datensegment. |
| 23 | Der Selektor im Operanden zeigt nicht auf ein conforming oder non-conforming Code-Segment, auf ein Call-Gate, Task-Gate oder ein Task-Switch segment. |
| 24 | Der Selektor eines Call-Gates, Interrupt-Gates oder Trap-Gates zeigt nicht auf ein Code-Segment. |
| 25 | Der Selektor im Operanden zeigt nicht auf einen GDT-Eintrag, oder der selektierte GDT- Eintrag zeigt nicht auf eine LDT. |
| 26 | Der Selektor in einem Task-Gate zeigt auf ein Task-Switch segment, das als not present markiert ist. |
| 27 | Das Stacksegment ist kein als writable markiertes Datensegment. |
| 28 | Der Deskriptor eines Codesegments enthält nicht die Typinformation für ein Code-Segment. |
| 29 | Der Deskriptor, auf den der Selektor der Rücksprungadresse zeigt, beschreibt kein Codesegment. |
| 30 | Der Deskriptor in der IDT beschreibt keine Interrupt-Gate, Trap-Gate oder Task-Gate. |
|
| Privilegverletzungen |
| 31 | Der IOPL ist kleiner als 3, oder der DPL des Interrupt-, Trap- oder Task-Gate-Deskriptors ist nicht gleich 3. |
| 32 | Der CPL ist größer als 0. |
| 33 | Der CPL ist größer als der IOPL (I/O-Privileg-Level) des aktuellen Programms oder der aktuellen Prozedur |
| 34 | Der CPL ist größer als der IOPL (I/O-Privileg-Level), und irgendeines der Permission-Bits im TSS für den angesprochenen Port ist gesetzt. |
| 35 | Der DPL im anzuspringenden non-conforming Codesegment ist nicht gleich dem CPL, oder der RPL des Selektors in der Ziel- oder Rücksprungadresse ist größer als der CPL. |
| 36 | Der DPL im anzuspringenden conforming Codesegment ist größer als der CPL. |
| 37 | Der DPL im anzuspringenden conforming Codesegment ist größer als der RPL im Selektor der Rücksprungadresse. |
| 38 | Der DPL des Codesegments, auf das ein Call-Gate zeigt, ist größer als der CPL. |
| 39 | Der DPL des Stacksegments ist nicht gleich dem RPL im Selektor der Rücksprungadresse. |
| 40 | Der DPL eines Call-Gates, Task-Gates oder eines Task-Switch-State ist kleiner als der CPL oder als der RPL des betreffenden Selektors. |
| 41 | Der DPL ist kleiner als der CPL und der RPL des Selektors, der in das DS-, ES- FS- oder GS-Register geladen wird. Dies ist eine Schutzverletzung, obwohl der Selektor auf ein Daten- oder non-conforming Codesegment zeigt. |
| 42 | Der DPL des Interrupt-Gates, Trap-Gates oder Task-Gates, der durch Auslösen des INT n-Funktion (auch INT3 und INTO) verwendet werden soll, ist kleiner als der CPL. |
| 43 | Der RPL des Selektors in der Ziel- oder Rücksprungadresse ist größer als der CPL. |
| 44 | Der RPL des Selektors der Rücksprungadresse ist kleiner als das CPL. |
| 45 | Der RPL im Selektor des Stacksegments und der Rücksprungadresse sind verschieden. |
| 46 | Das SS-Register wird mit einem Selektor geladen, dessen RPL nicht gleich dem DPL des Segments und dem CPL ist. |
|
| Falsche Bitstellungen |
| 47 | Das Global/local-Flag im Selektor eines Task-Switch-States steht auf �local�. |
| 48 | Ein Permission-Bit im Task-Switch-State für den angesprochenen Port ist gesetzt. |
| 49 | Versuch, eine ungültige Bitkombination in CR0 zu schreiben (zB. PG = 1 und PE = 0 oder CD = 0 und NE = 1). |
| 50 | Versuch, ein Bit im Kontrollregister CR4 zu setzen. |
| 51 | Versuch, in der Pointer-Tabelle eines Page-Directory-Eintrages reservierte Bits für die Nutzung der Physical-Address-Extension zu setzen, wenn PAE in Kontrollregister CR4 und PG in Kontrollregister CR0 gesetzt sind. |
| 52 | Der CPL ist größer als 0, und das PCE-Flag in Kontrollregister CR4 ist gelöscht. |
| 53 | Das PCE-Flag in Kontrollregister CR4 ist gelöscht. |
| 54 | Der CPL ist größer als 0, und das TSD-Flag in Kontrollregister CR4 ist gesetzt. |
| 55 | Das TDS-Flag in Kontrollregister CR4 ist gesetzt. |
|
| Ungültige Operanden/Funktionen |
| 56 | Auf die Debugregister kann in dieser Betriebsart nicht zugegriffen werden. |
| 57 | POPF/POPFD wurde mit einem OPSIZE-Präfix versehen. |
| 58 | Das SP-bzw. ESP-Register enthält den Wert 7, 9, 11, 13, oder 15. |
| 59 | Der Inhalt von ECX codiert ein reserviertes oder nicht implementiertes modellspezifisches Register (MSR). |
| 60 | Der Wert in ECX ist nicht 0 oder 1. |
| 61 | Das modellspezifische Register (MSR) SYSENTER_CS_MSR enthält den Wert 0. |
|
| Inkonsistenzen |
| 62 | Beim Laden des SS-Registers wird eine Fehlerursache vorgefunden: Der Selektor zeigt nicht in die GDT, der RPL des Selektors ist nicht gleich dem CPL, das als Stack verwendete Datensegment ist als non-writable markiert, oder der DPL des Segments ist nich |
| 63 | Beim Laden des DS-, ES-, FS- oder GS-Registers wird folgende Fehlerursache vorgefunden: Der Selektor ist ein Null-Selektor oder zeigt nicht in die GDT, das Segment ist kein Daten- oder readable Codesegment, oder das Segment ist zwar ein Daten- oder non- |
| 64 | Der Deskriptor weist seinen Task-Switch-State als busy oder nicht verfügbar aus. |
| 65 | Der Selektor im Quelloperanden zeigt auf ein Segment, das kein Task-Switch-State (TSS) ist oder aber auf ein TSS, das zu einem gerade aktiven Task gehört. |
| 66 | Das Codesegment der Rücksprungadresse ist non-conforming, und sein DPL ist nicht gleich dem RPL des Selektors für das Codesegment. |
| 67 | Das Codesegment der Rücksprungadresse ist conforming, und sein DPL ist größer als der RPL des Selektors für das Codesegment. |
|
| #MF |
|---|
| 1 | Eine FPU-Exception wartet auf die Behandlung. |
|
| #NM |
|---|
| 1 | Das TS-Flag in Kontrollregister CR0 ist gesetzt. |
| 2 | Das EM-Flag oder das TS-Flag in Kontrollregister CR0 ist gesetzt. |
| 3 | Das MP-Flag und das TS-Flag in Kontrollregister CR0 sind gesetzt. |
|
| #NP |
|---|
| 1 | Ein Codesegment, Datensegment, Stacksegment oder ein Call-Gate, Task-Gate oder Task-State-Segment (TSS) sind als not present markiert. |
| 2 | Der LDT-Deskriptor in der GDT ist als not present markiert. |
| 3 | Das Task-State-Segment ist als not present markiert. |
| 4 | Der nach DS, ES, FS oder GS zu ladende Selektor zeigt auf ein Segment, das als not present markiert ist. |
|
| #PF |
|---|
| 1 | Beim Versuch, auf eine Page zuzugreifen, wurde ein Fehler entdeckt. |
|
| #SS |
|---|
| 1 | Die verwendete Speicheradresse liegt außerhalb des durch den Selektor in SS ausgewählten Segments. |
| 2 | Der neu geladene Wert im SS- oder ESP-Register weist auf Adressen, die außerhalb der Stacksegmentgrenzen liegen. |
| 3 | Das Ablegen von Daten auf dem Stack sprengt die Grenzen des Stacksegments. |
| 4 | Das Ablegen einer Rücksprungadresse und/oder Flags und/oder eines Fehlercodes sprengt die Grenzen des Stacksegments. |
| 5 | Das Ablegen einer Rücksprungadresse und/oder Parameter und/oder Stackpointer auf den Stack, ohne daß ein Task-Switch stattfindet, führt zum Überschreiten der Grenzen des Stacksegments. |
| 6 | Das Ablegen einer Rücksprungadresse und/oder Parameter und/oder Stackpointer auf den Stack bei einem Task-Switch führt zum Überschreiten der Grenzen des Stacksegments. |
| 7 | Das SS-Register wird mit einem Selektor geladen, dessen dazugehöriges Segment als not present markiert ist. |
| 8 | Das SS-Register wird im Rahmen eines Task-Switchs mit einem Selektor geladen, dessen dazugehöriges Segment als not present markiert ist. |
| 9 | Die Stackspitze liegt außerhalb der Segmentgrenzen des Stacksegments. |
| 10 | Stackspitze und StackByteasis liegen außerhalb der Segmentgrenzen des Stacksegments. |
|
| #TS |
|---|
| 1 | Der Selektor für das Stacksegment ist ein Null-Selektor. |
| 2 | SS:ESP liegt außerhalb des TSS. |
| 3 | Der RPL des im TSS verzeichneten Selektors für das Stacksegment ist nicht gleich dem DPL des Codesegments, auf das umgeschaltet wird. |
| 4 | Der DPL des neuen Stacksegments, auf das der Selektor im TSS zeigt, ist nicht gleich dem DPL des neuen Codesegments. |
| 5 | Das neue Stacksegment nicht kein als writable markiertes Datensegment. |
| 6 | Der Selektor für ein Stacksegment zeigt nicht in eine Deskriptortabelle. |
|
| #DU |
|---|
| 1 | Die Funktion ist in diesem Modus nicht verfügbar. |
| 2 | Der Quelloperand ist keine Speicherstelle. |
| 3 | Der Zieloperand ist kein Register. |
| 4 | Der Zieloperand ist ein Register. |
| 5 | Der Zieloperand ist keine Speicherstelle. |
| 6 | Das EM-Flag in Kontrollregister CR0 ist gesetzt. |
| 7 | Das Präfix kann nicht in Verbindung mit der sich anschließenden Funktion eingesetzt werden. |
| 8 | Das CS-Register soll geladen werden. |
| 9 | Das DE-Flag in Kontrollregister CR4 ist gesetzt, und ein Operand bezeichnet die Debugregister DR4 oder DR5. |
| 10 | Der Prozessor ist bei Ausführung der Funktion nicht im System-Management-Mode (SMM). |
| 11 | Die Exception wird mit Sicherheit ausgeführt. |