Intel 253666-024US Computer Hardware User Manual


 
3-346 Vol. 2A FLDCW—Load x87 FPU Control Word
INSTRUCTION SET REFERENCE, A-M
FLDCW—Load x87 FPU Control Word
Description
Loads the 16-bit source operand into the FPU control word. The source operand is a
memory location. This instruction is typically used to establish or change the FPU’s
mode of operation.
If one or more exception flags are set in the FPU status word prior to loading a new
FPU control word and the new control word unmasks one or more of those excep-
tions, a floating-point exception will be generated upon execution of the next
floating-point instruction (except for the no-wait floating-point instructions, see the
section titled “Software Exception Handling” in Chapter 8 of the Intel® 64 and IA-32
Architectures Software Developer’s Manual, Volume 1). To avoid raising exceptions
when changing FPU operating modes, clear any pending exceptions (using the FCLEX
or FNCLEX instruction) before loading the new control word.
This instruction’s operation is the same in non-64-bit modes and 64-bit mode.
Operation
FPUControlWord SRC;
FPU Flags Affected
C0, C1, C2, C3 undefined.
Floating-Point Exceptions
None; however, this operation might unmask a pending exception in the FPU status
word. That exception is then generated upon execution of the next “waiting” floating-
point instruction.
Protected Mode Exceptions
#GP(0) If a memory operand effective address is outside the CS, DS,
ES, FS, or GS segment limit.
If the DS, ES, FS, or GS register is used to access memory and it
contains a NULL segment selector.
#SS(0) If a memory operand effective address is outside the SS
segment limit.
#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.
#PF(fault-code) If a page fault occurs.
Opcode Instruction 64-Bit
Mode
Compat/
Leg Mode
Description
D9 /5 FLDCW m2byte Valid Valid Load FPU control word from m2byte.