FINIT           Initialize FPU                       Exceptions: None
FNINIT Initialize FPU, no wait C3 C2 C1 C0: 0 0 0 0

FINIT
FNINIT

Logic control word ← 037Fh
status word ← 0000h
tag word ← 0FFFFh

FINIT/FNINIT put the FPU in a known state, unaffected by any
previous activity. In fact, FINIT/FNINIT affect the FPU in the same
way as a hardware RESET signal with Built-In Self-Test. They do not
affect the synchronization between the 80x86 and the 80x87.

Before initializing the FPU, FINIT checks for unmasked FP error
conditions (using an FWAIT instruction); FNINIT does not make this
check.

FINIT/FNINIT do the following:
- set the FPU control word to 037Fh, i.e. round to nearest, 64-bit
precision, all exceptions masked
- clear the status word, i.e. no exception flags set and stack
register R0 = ST(0)
- tag all stack registers as empty
- clear instruction and error data pointers (80486 FPU+ only)


Opcode Format
9B DB E3 FINIT
DB E3 FNINIT


Timing
Variations 8087 287 387 486 Pentium
finit 2-8 2-8 33 17 16 NP
fninit 2-8 2-8 33 17 12 NP

The wait version may take additional cycles