<<<    Index    >>>
3-203
INSTRUCTION SET REFERENCE
FINIT/FNINIT—Initialize Floating-Point Unit
NOTE:
* Refer to “Intel Architecture Compatibility” below.
Description
These instructions set 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.
Intel Architecture Compatibility
When operating a Pentium
®
 or Intel486™ processor in MS-DOS compatibility mode, it is
possible (under unusual circumstances) for an FNINIT instruction to be interrupted prior to
being executed to handle a pending FPU exception. Refer to Section E.2.1.3, “No-Wait FPU
Instructions Can Get FPU Interrupt in Window” in Appendix E, Guidelines for Writing FPU
Exception Handlers of the Intel Architecture Software Developer’s Manual, Volume 1, for a
description of these circumstances. An FNINIT instruction cannot be interrupted in this way on
a Pentium
®
 Pro processor.
In the Intel387 math coprocessor, the FINIT/FNINIT instruction does not clear the instruction
and data pointers.
On a Pentium
®
 III processor, the FINIT/FNINT instructions operate the same as on a Pentium
®
II processor. They have no effect on the Pentium
®
 III processor SIMD floating-point functional
unit or control/status register.
Operation
FPUControlWord 
<
 037FH;
FPUStatusWord 
<
 0;
FPUTagWord 
<
 FFFFH;
FPUDataPointer 
<
 0;
FPUInstructionPointer 
<
 0;
FPULastInstructionOpcode 
<
 0;
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.
<<<    Index    >>>