Erste Hilfe — Änderungen 10118 → 10119

Zeile 321: Zeile 321:
 
== Emulator-bezogene Fehler ==
 
== Emulator-bezogene Fehler ==
 
=== Bochs verabschiedet sich mit einer Endlosschleife der Meldung: "math_abort: MSDOS compatibility FPU exception" ===
 
=== Bochs verabschiedet sich mit einer Endlosschleife der Meldung: "math_abort: MSDOS compatibility FPU exception" ===
−
Dieser Fehler tritt auf, wenn dein Code zur Berechnung von Fleißkommazahlen auf die [[FPU]] zugreift, z.B. bei der Verwendung des Daentyps "float". Wenn du vorher die FPU nicht initialisiert hast, dann tritt in Bochs der obige Fehler auf. Die Behebung des Problems lässt sich mit folgendem einfachen Assembler-Befehl beheben, den du nur vor der Verwwendung der FPU aufrufen musst:
+
Dieser Fehler tritt auf, wenn dein Code zur Berechnung von Fleißkommazahlen auf die [[FPU]] zugreift, z.B. bei der Verwendung des Daentyps "float". Wenn du vorher die FPU nicht initialisiert hast, dann tritt in Bochs der obige Fehler auf. Die Behebung des Problems lässt sich mit folgendem einfachen Assembler-Befehl beheben, den du nur vor der ersten Verwendung der FPU aufrufen musst:
 
<asm>finit</asm>
 
<asm>finit</asm>
−
Achtung: Falls mehrere Prozesse die FPU verwenden, musst du die Inhalte der FPU-Register vor dem Task-Switch sichern!
+
Achtung: Falls mehrere Prozesse die FPU verwenden, musst du die Inhalte der FPU-Register während dem Task-Switch mit sichern und wiederherstellen! Das lässt sich aber durch Nutzung des TS-Flag im CR0 optimieren.