Opcode |
Instruction |
Description |
---|---|---|
9B DB E3 |
FINIT |
Initialize FPU after checking for pending unmasked floating-point exceptions. |
DB E3 |
FNINIT |
Initialize FPU without checking for pending unmasked floating-point exceptions. |
Sets the FPU control, status, tag, instruction pointer, and data pointer registers to their default states. The FPU control word is set to 037FH (round to nearest, all exceptions masked, 64-bit precision). The status word is cleared (no exception flags set, TOP is set to 0). The data registers in the register stack are left unchanged, but they are all tagged as empty (11B). Both the instruction and data pointers are cleared.
The FINIT instruction checks for and handles any pending unmasked floating-point exceptions before performing the initialization; the FNINIT instruction does not.
When operating a Pentium(R) or Intel486
In the Intel387 math coprocessor, the FINIT/FNINIT instruction does not clear the instruction and data pointers.
This instruction affects only the x87 FPU. It does not affect the XMM and MXCSR registers.
FPUControlWord 037FH;
FPUStatusWord 0;
FPUTagWord FFFFH;
FPUDataPointer 0;
FPUInstructionPointer
0;
FPULastInstructionOpcode 0;
C0, C1, C2, C3 cleared to 0.
None.
#NM - EM or TS in CR0 is set.
#NM - EM or TS in CR0 is set.
#NM - EM or TS in CR0 is set.
For details, see Volume 2A and Volume 2B of the Intel(R) 64 and IA-32 Intel Architecture Software Developer's Manual. For the latest updates on the instruction set information, go to the web site.