FPU

De RAD Studio
Aller à : navigation, rechercher

Remonter à Fenêtres de débogage - Index


Voir > Fenêtres de débogage > FPU

Affiche le contenu de l'unité virgule flottante et des registres SSE de la CPU.

Elément Description

Pointeur d'instruction (IPTR)

Affiche l'adresse du pointeur d'instruction (IPTR), l'opcode et l'adresse de l'opérande (OPTR) de la dernière instruction en virgule flottante exécutée.

Volet des registres FPU

Affiche la pile des registres en virgule flottante (ST0 à ST7) dans l'ordre croissant. Après cette liste figurent le mot de contrôle, le mot d'état et le mot de tag. Les informations affichées pour chacun des huit registres ont la forme suivante : nom, état et valeur du registre. L'état d'un registre peut être l'une des valeurs suivantes :

  • Vide Indique que le registre contient des données incorrectes. Lorsqu'un registre est vide, aucune valeur n'est affichée pour lui, car les données qu'il contient sont présumées non valides.
  • Valide Indique que le registre contient des données non nulles valides.
  • Spéc. (Spécial) Indique que le registre contient des données valides, mais que ces données représentent une condition spéciale, que ce soit PasNum (non numérique), l'infini, ou une valeur anormale.

L'état de chaque registre est déterminée par l'examen du mot de tag et des 11ième au 13ième bits du mot d'état (indicateur de haut de pile). Lorsque l'état d'un registre n'est pas Vide, sa valeur est affichée comme long double (Extended) immédiatement après l'état. Les registres peuvent être affichés dans des différents formats (autres que long double).

Les mots de contrôle, d'état et de tag sont affichés uniquement en format hexadécimal. Pour ces trois mots, toutes les valeurs modifiées par la dernière opération d'exécution sont affichées en rouge.

Volet des indicateurs de contrôle

Répertorie les indicateurs de contrôle codés dans le mot de contrôle. Tout indicateur modifié par la dernière opération d'exécution est affiché en rouge. Les indicateurs de contrôle et leurs numéros de bits dans le mot de contrôle sont les suivants :

  • IM Exception Opération incorrecte, 0
  • DM Masque d'exception Opération dénormalisée, 1
  • ZM Masque d'exception Division par zéro, 2
  • OM Masque d'exception Débordement, 3
  • UM Masque d'exception Débordement inférieur, 4
  • PM Masque d'exception Précision, 5
  • PC Contrôle de la précision, 8, 9
  • RC Contrôle de l'arrondi, 10, 11
  • IC Contrôle Infini (obsolète), 12

Sélectionnez n'importe lequel de ces indicateurs et cliquez avec le bouton droit pour modifier sa valeur. Pour un indicateur sur un seul bit, cela fait passer sa valeur de 0 à 1 ou de 1 à 0. Pour un indicateur sur plusieurs bits, cela le fait passer par toutes les valeurs possibles.

Volet des indicateurs d'état

Répertorie les indicateurs d'état codés dans le mot d'état. Tout indicateur modifié par la dernière opération d'exécution est affiché en rouge. Les indicateurs et leurs numéros de bits dans le mot de contrôle sont les suivants :

  • IE Exception Opération incorrecte, 0
  • DE Exception Opération dénormalisée, 1
  • ZE Exception Division par zéro, 2
  • OE Exception Débordement, 3
  • UE Exception Débordement inférieur, 4
  • PE Exception Précision, 5
  • SF Faute de pile, 6
  • ES Etat récapitulatif d'erreur, 7
  • C0 Code condition 0 (CF), 8
  • C1 Code condition 1, 9
  • C2 Code condition 2 (PF), 10
  • ST Haut de la pile, 11-13
  • C3 Code condition 3 (ZF), 14
  • BF FPU occupé, 15

Sélectionnez n'importe lequel de ces indicateurs et cliquez avec le bouton droit pour modifier sa valeur. Pour un indicateur sur un seul bit, cela fait passer sa valeur de 0 à 1 ou de 1 à 0. Pour un indicateur sur plusieurs bits, cela le fait passer par toutes les valeurs possibles.

Volet SSE

Affiche les registres SSE (Streaming SIMD Extensions). Cliquez avec le bouton droit sur le volet SSE et choisissez Afficher en pour changer le format d'affichage du contenu du registre.

Figure : Comparaison des registres de données FPU x86 aux registres de données SSE x64

X86 FPU.pngX64 SSE.png

Menu contextuel

Cliquez avec le bouton droit sur la fenêtre FPU pour afficher les commandes de menu contextuel suivantes.

Elément Description

Zéro

Définit par 0 la valeur du registre sélectionné. Lorsqu'elle est utilisée sur un des sept registres FPU, cette commande définit en outre les bits du mot de tag du registre par 01 afin d'indiquer que le registre contient une valeur nulle.

Vide

Définit dans le mot de tag les bits de tag du registre sélectionné par 11 pour indiquer que le registre est vide. Cette commande est estompée si le registre sélectionné est le mot CTRL, le mot STAT ou le mot TAG.

Modifier

Affiche la boîte de dialogue de modification, dans laquelle vous pouvez entrer une nouvelle valeur pour le registre sélectionné. Lorsqu'elle est utilisée sur un des sept registres du FPU, cette commande définit dans le mot de tag les bits de tag de ce registre par 00 pour indiquer que le registre contient une valeur valide. La valeur que vous entrez dans la boîte de dialogue de modification doit correspondre au format sélectionné par l'élément de menu Afficher en. Si, par exemple, le format affiché est Extended, entrez la valeur Extended dans la boîte de dialogue de modification.

Afficher en

Détermine comment les valeurs des registres sont affichées. Les éléments du sous-menu changent selon la sélection du menu Afficher.

  • Pour les registres FPU, les types d'affichage possibles sont Words et Extendeds (long doubles).
  • Pour les registres MMX, les types d'affichage possibles sont Bytes, Words, DWords (doubles mots) et QWords (quadruples mots).
  • Pour les registres SSE, les valeurs possibles sont Bytes, Words, DWords (doubles mots), QWords (quadruples mots), DQWords (quadruples doubles mots), Simples et Doubles.

Base

Uniquement disponible lorsque sont affichés les registres MMX. Détermine comment les valeurs du registre MMX sont affichées. Les valeurs possibles sont Binaire, Décimal non signé, Hexadécimal et Décimal signé.

Afficher

Bascule le volet Registres FPU entre les registres FPU et MMX :

  • Registres virgule flottante affiche les registres FPU sur 10 octets ST(0) à ST(7). Les registres peuvent être vus sous la forme de valeurs Extended (long double) ou 5 DWord.
  • Registres MMX affiche les registres MMX sur 8 octets MM0 à MM7. Les registres peuvent être vus comme valeurs 8 Byte, 4 Word, 2 DWord ou 1 QWord. Ces valeurs sont affichées en binaire, en décimal ou en hexadécimal (voir Base). Les registres MMX sont visibles uniquement sur des machines MMX.

Basculer l'indicateur

Dans les volets Indicateurs d'état et Indicateurs de contrôle, change la valeur de l'indicateur sélectionné. Pour un indicateur sur un seul bit, cette option fait passer sa valeur de 0 à 1 ou de 1 à 0. Pour un indicateur sur plusieurs bits, elle le fait passer par toutes les valeurs possibles.

Rester au-dessus

Maintient la vue FPU au-dessus des autres fenêtres.

Voir aussi