CPU Exceptions
Aus PlusPedia
CPU Exceptions sind definierte Ausnahmefälle in der x86-Architektur, bei denen die CPU selber eine definierte Routine (Interrupt) auslöst
Inhaltsverzeichnis
Übrigens: Die PlusPedia ist NICHT die Wikipedia. Wir sind ein gemeinnütziger Verein, PlusPedia ist werbefrei. Wir freuen uns daher über eine kleine Spende! |
1 Details
- Den CPU Exceptions werden die Interrupts 0 bis 31 zugeordnet.
- Man teilt die CPU Exceptions in drei Klassen ein:
- Faults: Das sind "Stolpersteine", nach deren Beseitigung das Programm ohne Probleme fortgesetzt werden kann. Bei einem Fault stellt der Prozessor deshalb den Zustand wieder her, der vor der Ausführung des Befehls herrschte, der zur CPU Exception führte.
- Traps: Das sind Fehler, die nicht mehr korrigierbar sind. Die Rücksprungadresse für den Exception-Handler zeigt deshalb auf die Adresse des Befehls, der dem Befehl unmittelbar folgt.
- Aborts: Das sind die schwerwiegendsten Fälle von CPU Exceptions. Oft ist die Quelle der Ursache nicht ermittelbar.
- Außerdem werden CPU Exceptions auch in die drei Exceptiontypen benign, contributory und page fault eingeteilt. Dabei sind CPU Exceptions des Typs benign eher harmlose Fehler, die meist keine weiteren Folgen haben. CPU Exceptions des Typs contributory sind Fehler, die einen Einfluss auf den weiteren Programmverlauf haben könnten, wie bsp. ein Stack Overflow. CPU Exceptions des Typs page fault signalisieren, dass versucht wurde auf eine Seite zuzugreifen, die derzeit nicht im Speicher verfügbar ist. [1]
1.1 Liste der CPU Exceptions
Vektor | Bezeichnung | Typ | Fehlercode |
---|---|---|---|
0x00 | #DE - Divide Error | Fault | nein |
0x01 | #DB - Debug | Fault/Trap | nein |
0x02 | #NMI - Non Maskable Interrupt | - | nein |
0x03 | #BP - Breakpoint | Trap | nein |
0x04 | #OF - Overflow | Trap | nein |
0x05 | #BR - Bound Range | Fault | nein |
0x06 | #UD - Invalid Opcode | Fault | nein |
0x07 | #NM - Device Not Available | Fault | nein |
0x08 | #DF - Double Fault | Abort | ja |
0x09 | Coprocessor Segment Overrun | - | nein |
0x0a | #TS - Invalid TSS | Fault | ja |
0x0b | #NP - Segment not Present | Fault | ja |
0x0c | #SS - Stack Fault | Fault | ja |
0x0d | #GP - General Protection | Fault | ja |
0x0e | #PF - Page Fault | Fault | ja |
0x0f | Reserviert | - | - |
0x10 | #MF - x87 Floating Point | Fault | nein |
0x11 | #AC - Alignment Check | Fault | ja |
0x12 | #MC - Machine Check | Abort | nein |
0x13 | #XF - SIMD Floating Point | Fault | nein |
0x14-0x1d | Reserviert | - | - |
0x1e | #SX - Security-sensitive event in Host | - | ja |
0x1f | Reserviert | - | - |
2 Links und Quellen
2.1 Siehe auch
2.2 Weblinks
2.2.1 Bilder / Fotos
2.2.2 Videos
2.3 Quellen
2.4 Literatur
- Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 499 bis 529
2.6 Einzelnachweise
- ↑ Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 499 bis 529
3 Andere Lexika
Diesen Artikel melden!
Verletzt dieser Artikel deine Urheber- oder Persönlichkeitsrechte?
Hast du einen Löschwunsch oder ein anderes Anliegen? Dann nutze bitte unser Kontaktformular
PlusPedia Impressum
Bitte Beachte:
Sämtliche Aussagen auf dieser Seite sind ohne Gewähr.
Für die Richtigkeit der Aussagen übernimmt die Betreiberin keine Verantwortung.
Nach Kenntnissnahme von Fehlern und Rechtsverstößens ist die Betreiberin selbstverständlich bereit,
diese zu beheben.
Verantwortlich für jede einzelne Aussage ist der jeweilige Erstautor dieser Aussage.
Mit dem Ergänzen und Weiterschreiben eines Artikels durch einen anderen Autor
werden die vorhergehenden Aussagen und Inhalte nicht zu eigenen.
Die Weiternutzung und Glaubhaftigkeit der Inhalte ist selbst gegenzurecherchieren.