3-176
INSTRUCTION SET REFERENCE
FCLEX/FNCLEXClear Exceptions
NOTE:
* Refer to Intel Architecture Compatibility below.
Description
This instruction clears the floating-point exception flags (PE, UE, OE, ZE, DE, and IE), the
exception summary status flag (ES), the stack fault flag (SF), and the busy flag (B) in the FPU
status word. The FCLEX instruction checks for and handles any pending unmasked floating-
point exceptions before clearing the exception flags; the FNCLEX 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 FNCLEX 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 Developers Manual, Volume 1, for a
description of these circumstances. An FNCLEX instruction cannot be interrupted in this way
on a Pentium
®
Pro processor.
On a Pentium
®
III processor, the FCLEX/FNCLEX 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
FPUStatusWord[0..7]
<
0;
FPUStatusWord[15]
<
0;
FPU Flags Affected
The PE, UE, OE, ZE, DE, IE, ES, SF, and B flags in the FPU status word are cleared. The C0,
C1, C2, and C3 flags are undefined.
Floating-Point Exceptions
None.
Opcode
Instruction
Description
9B DB E2
FCLEX
Clear floating-point exception flags after checking for
pending unmasked floating-point exceptions.
DB E2
FNCLEX
*
Clear floating-point exception flags without checking for
pending unmasked floating-point exceptions.