FPU

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Fenster zur Fehlersuche - Index


Ansicht > Debug-Fenster > FPU

Zeigt den Inhalt der Gleitkommaeinheit und der SSE-Register des Prozessors an.

Element Beschreibung

Anweisungszeiger (IPTR)

Zeigt die Adresse des Anweisungszeigers (IPTR), den Opcode und die Adresse des Operanden (OPTR) der zuletzt ausgeführten Gleitkommaanweisung an.

FPU-Registerausschnitt

Zeigt den Inhalt der Gleitkommaregister (ST0 bis ST7) in aufsteigender Reihenfolge an. Nach diesen Informationen wird der Inhalt des Kontroll-, Status- und Tag-Worts angezeigt. Die Liste enthält für jedes Register folgende Informationen: Registername, Registerstatus und Registerwert. Der Registerstatus kann einer der folgenden Werte sein:

  • Leer Gibt an, dass das Register ungültige Daten enthält. Wenn ein Register leer ist, wird kein Registerwert angezeigt, da sein Inhalt als ungültig betrachtet wird.
  • Gültig Gibt an, dass das Register gültige Daten ungleich Null enthält.
  • Spez. (Speziell) Gibt an, dass das Register gültige Daten enthält, die aber eine spezielle Bedingung repräsentieren, entweder NAN (Not A Number = keine Zahl), unendlich oder ein denormalisierter Wert sind.

Der Status der einzelnen Register wird anhand des Tag-Worts und des elften bis dreizehnten Bits im Statuswort ermittelt. Wenn der Status eines Registers nicht "Leer" ist, wird sein Wert im Extended-Format (Long Double) direkt nach seinem Status angezeigt. Die Anzeige kann in verschiedenen Formaten erfolgen.

Der Wert des Kontroll-, Status- und Tag-Worts wird nur hexadezimal angezeigt. Bei diesen Wörtern werden die in der letzten Ausführungsoperation geänderten Werte rot angezeigt.

Kontroll-Flags-Ausschnitt

Enthält Flags des Kontrollworts der FPU. Die in der letzten Ausführungsoperation geänderten Flags werden rot angezeigt. Folgende Kontroll-Flags und Bit-Nummern im Kontrollwort sind möglich:

  • IM Ungültige Operation (Exception), 0
  • DM Denormalisierte Operation (Exception), 1
  • ZM Division durch 0 (Exception), 2
  • OM Überlauf (Exception), 3
  • UM Unterlauf (Exception), 4
  • PM Genauigkeit (Exception), 5
  • PC Genauigkeitskontrolle, 8, 9
  • RC Rundungskontrolle, 10, 11
  • IC Endlichkeitskontrolle (veraltet), 12

Wählen Sie das gewünschte Flag aus, und klicken Sie mit rechten Maustaste, um seinen Wert zu ändern. Bei Ein-Bit-Flags wird der Wert von 0 in 1 oder von 1 in 0 geändert. Bei den Flags, die aus mehreren Bits bestehen, werden die Werte der Reihe nach zugewiesen.

Status-Flags-Ausschnitt

Enthält die Flags des Statusworts der FPU. Die in der letzten Ausführungsoperation geänderten Flags werden rot angezeigt. Folgende Flags und Bit-Nummern im Kontrollwort sind möglich:

  • IE Ungültige Operation (Exception), 0
  • DE Denormalisierte Operation (Exception), 1
  • ZE Division durch 0 (Exception), 2
  • OE Überlauf (Exception), 3
  • UE Unterlauf (Exception), 4
  • PE Genauigkeit (Exception), 5
  • SF Stack-Fehler, 6
  • ES Status der Fehlerzusammenfassung, 7
  • C0 Bedingungs-Code 0 (CF), 8
  • C1 Bedingungs-Code 1, 9
  • C2 Bedingungs-Code 2 (PF), 10
  • ST Anfang des Stack, 11-13
  • C3 Bedingungs-Code 3 (ZF), 14
  • BF FPU ausgelastet, 15

Wählen Sie das gewünschte Flag aus, und klicken Sie mit rechten Maustaste, um seinen Wert zu ändern. Bei Ein-Bit-Flags wird der Wert von 0 in 1 oder von 1 in 0 geändert. Bei den Flags, die aus mehreren Bits bestehen, werden die Werte der Reihe nach zugewiesen.

SSE-Bereich

Zeigt die SSE-Register (Streaming SIMD Extensions) an. Klicken Sie im SSE-Bereich mit der rechten Maustaste und wählen Sie Anzeigen als, um das Anzeigeformat des Registerinhalts zu ändern.

Abbildung: Die x86-FPU-Datenregister mit den x64-SSE-Datenregistern vergleichen

X86 FPU.pngX64 SSE.png

Kontextmenü

Klicken Sie im FPU-Fenster mit der rechten Maustaste, um auf die folgenden Befehle zuzugreifen:

Element Beschreibung

Null

Setzt den Wert des ausgewählten Registers auf 0. Bei einem der sieben FPU-Register werden auch die Tag-Bits im Tag-Wort auf 01 gesetzt, um anzuzeigen, dass das Register Null enthält.

Leer

Setzt die Tag-Bits im Tag-Wort auf 11, um anzugeben, dass das Register leer ist. Dieser Befehl kann nicht verwendet werden, wenn es sich bei dem ausgewählten Register um das Kontroll-, Status- oder Tag-Wort handelt.

Änderung

Zeigt das Dialogfeld Neuen Wert eingeben an, in dem Sie einen neuen Wert für das ausgewählte Register eingeben können. Bei den sieben FPU-Registern werden auch die Tag-Bits im Tag-Wort auf 00 gesetzt, um anzuzeigen, dass das Register einen gültigen Wert enthält. Der Wert, den Sie in das Dialogfeld Neuen Wert eingeben eingeben, muss mit dem bei dem Befehl Anzeigen als festgelegten Format übereinstimmen. Wenn beispielsweise das aktuell angezeigte Format Extended ist, sollten Sie einen Extended-Wert in das Dialogfeld Neuen Wert eingeben eingeben.

Anzeigen als

Bestimmt, wie die Werte in Registern angezeigt werden. Die Befehle in den Untermenüs sind von der Auswahl bei dem Befehl Anzeigen abhängig.

  • Bei FPU-Registern können die Optionen Word und Extended (Long Double) verwendet werden
  • Bei MMX-Registern können die Optionen Byte, Word, DWord (Double-Word) und QWord (Quad-Word) verwendet werden.
  • Bei SSE-Registern sind die folgenden Werte möglich: Bytes, Words, DWords (Double-Words), QWords (Quad-Word), DQWords (Double-Quad-Words), Singles und Doubles.

Radix

Nur verfügbar, wenn MMX-Register angezeigt werden. Bestimmt, wie die Werte in den MMX-Registern angezeigt werden. Die möglichen Werte sind "Binär", "Vorzeichenloser Dezimalwert", "Hexadezimal" und "Dezimal mit Vorzeichen".

Anzeigen

Schaltet die Anzeige im FPU-Bereich zwischen FPU- und MMX-Registern um.

  • Fließkomma-Register zeigen die 10-Byte FPU-Register ST(0) bis ST(7) an. Sie können entweder als Extended-Werte (Long Double) oder als 5 DWord-Werte angezeigt werden.
  • MMX-Register zeigen die 8-Byte MMX-Register MM0 bis MM7 an. Die Register können als 8-Byte-, 4-Wort-, 2-DWort oder 1-QWort-Wert im binären, dezimalen oder hexadezimalen Format (siehe Radix) angezeigt werden. MMX-Register können nur auf einem Rechner mit einem entsprechenden Prozessor verwendet werden.

Flag umschalten

Ändert in den Bereichen Status-Flags und Kontroll-Flags den Wert des markierten Flags. Bei Ein-Bit-Flags wird der Wert von 0 in 1 oder von 1 in 0 geändert. Bei den Flags, die aus mehreren Bits bestehen, werden die Werte der Reihe nach zugewiesen.

Immer im Vordergrund

Zeigt das FPU-Fenster über allen anderen Fenster auf dem Desktop an.

Siehe auch