Share via


FpCsr

L'état du registre inclut également le mot de commande FPUx87.La convention d'appel définit ce registre comme non volatil.

Le registre du mot de commande FPU x87 possède les valeurs standard suivantes au démarrage de l'exécution du programme :

FPCSR[0:6]: Exception masks all 1's (all exceptions masked)
FPCSR[7]: Reserved – 0
FPCSR[8:9]: Precision Control – 10B (double precision)
FPCSR[10:11]: Rounding  control - 0 (round to nearest)
FPCSR[12]: Infinity control – 0 (not used)

Un appelé qui modifie l'un des champs dans FPCSR doit les restaurer avant de retourner à son appelant.En outre, un appelant qui a modifié l'un de ces champs doit rétablir leur valeur standard avant d'appeler un appelé, à moins que, selon les termes d'un contrat, l'appelé attende les valeurs modifiées.

Il existe deux exceptions aux règles relatives à la rémanence des indicateurs de contrôle :

  1. dans les fonctions dont l'objectif documenté consiste à modifier les indicateurs MxFpCsrCsr non volatils ;

  2. lorsqu'il peut être prouvé que la violation des résultats de ces règles dans un programme qui se comporte de la même manière ou a la même signification qu'un programme où ces règles ne sont pas enfreintes (par exemple, par le biais d'une analyse de l'intégralité d'un programme).

Voir aussi

Référence

Convention d'appel