<<<    Index    >>>
3-214
INSTRUCTION SET REFERENCE
FLDENV—Load FPU Environment
Description
This instruction loads the complete FPU operating environment from memory into the FPU
registers. The source operand specifies the first byte of the operating-environment data in
memory. This data is typically written to the specified memory location by a FSTENV or
FNSTENV instruction.
The FPU operating environment consists of the FPU control word, status word, tag word,
instruction pointer, data pointer, and last opcode. Figures 7-13 through Figure 7-16 in Chapter
7, Floating-Point Unit of the Intel Architecture Software Developer’s Manual, Volume 1, show
the layout in memory of the loaded environment, depending on the operating mode of the
processor (protected or real) and the current operand-size attribute (16-bit or 32-bit). In virtual-
8086 mode, the real mode layouts are used.
The FLDENV instruction should be executed in the same operating mode as the corresponding
FSTENV/FNSTENV instruction.
If one or more unmasked exception flags are set in the new FPU status word, a floating-point
exception will be generated upon execution of the next floating-point instruction (except for the
no-wait floating-point instructions. or more information, refer to Section 7.7.3., Software Excep-
tion Handling in Chapter 7, Floating-Point Unit of the Intel Architecture Software Developer’s
Manual, Volume 1). To avoid generating exceptions when loading a new environment, clear all
the exception flags in the FPU status word that is being loaded.
Intel Architecture Compatibility
On a Pentium
®
 III processor, the FLDENV instruction operates the same as on a Pentium
®
 II
processor. It has no effect on the Pentium
®
 III processor SIMD floating-point functional unit or
control/status register.
Operation
FPUControlWord 
<
 SRC(FPUControlWord);
FPUStatusWord 
<
 SRC(FPUStatusWord);
FPUTagWord 
<
 SRC(FPUTagWord);
FPUDataPointer 
<
 SRC(FPUDataPointer);
FPUInstructionPointer 
<
 SRC(FPUInstructionPointer);
FPULastInstructionOpcode 
<
 SRC(FPULastInstructionOpcode);
FPU Flags Affected
The C0, C1, C2, C3 flags are loaded.
Opcode
Instruction
Description
D9 /4
FLDENV m14/28byteLoad FPU environment from m14byte or m28byte.
<<<    Index    >>>