Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z

Vol. 2B 4-397
INSTRUCTION SET REFERENCE, N-Z
WAIT/FWAIT—Wait
Description
Causes the processor to check for and handle pending, unmasked, floating-point
exceptions before proceeding. (FWAIT is an alternate mnemonic for WAIT.)
This instruction is useful for synchronizing exceptions in critical sections of code.
Coding a WAIT instruction after a floating-point instruction insures that any
unmasked floating-point exceptions the instruction may raise are handled before the
processor can modify the instruction’s results. See the section titled “Floating-Point
Exception Synchronization” in Chapter 8 of the Intel
®
64 and IA-32 Architectures
Software Developer’s Manual, Volume 1, for more information on using the
WAIT/FWAIT instruction.
This instruction’s operation is the same in non-64-bit modes and 64-bit mode.
Operation
CheckForPendingUnmaskedFloatingPointExceptions;
FPU Flags Affected
The C0, C1, C2, and C3 flags are undefined.
Floating-Point Exceptions
None.
Protected Mode Exceptions
#NM If CR0.MP[bit 1] = 1 and CR0.TS[bit 3] = 1.
Real-Address Mode Exceptions
#NM If CR0.MP[bit 1] = 1 and CR0.TS[bit 3] = 1.
Virtual-8086 Mode Exceptions
#NM If CR0.MP[bit 1] = 1 and CR0.TS[bit 3] = 1.
Opcode Instruction
64-Bit
Mode
Compat/
Leg Mode Description
9B WAIT Valid Valid Check pending unmasked floating-
point exceptions.
9B FWAIT Valid Valid Check pending unmasked floating-
point exceptions.