Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- iAPx86 - <b>finit initialize fpu exceptions: none</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
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

See Also: FCLEX FSAVE FWAIT FPU registers

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson