Intel 253666-024US Manuel D’Utilisation

Page de 760
Vol. 2A 3-341
INSTRUCTION SET REFERENCE, A-M
FLD—Load Floating Point Value
FLD—Load Floating Point Value
Description
Pushes the source operand onto the FPU register stack. The source operand can be in 
single-precision, double-precision, or double extended-precision floating-point 
format. If the source operand is in single-precision or double-precision floating-point 
format, it is automatically converted to the double extended-precision floating-point 
format before being pushed on the stack.
The FLD instruction can also push the value in a selected FPU register [ST(i)] onto the 
stack. Here, pushing register ST(0) duplicates the stack top.
This instruction’s operation is the same in non-64-bit modes and 64-bit mode.
Operation
IF SRC is ST(i)
THEN
temp ← ST(i);
FI;
TOP ← TOP
 −
 1;
IF SRC is memory-operand
THEN
ST(0) ← ConvertToDoubleExtendedPrecisionFP(SRC);
ELSE (* SRC is ST(i) *)
ST(0) ← temp;
FI;
FPU Flags Affected
C1
Set to 1 if stack overflow occurred; otherwise, set to 0.
C0, C2, C3 
Undefined.
Floating-Point Exceptions
#IS
Stack underflow or overflow occurred.
Opcode
Instruction 64-Bit 
Mode
Compat/
Leg Mode
Description
D9 /0
FLD m32fp
Valid
Valid
Push m32fp onto the FPU register stack.
DD /0
FLD m64fp
Valid
Valid
Push m64fp onto the FPU register stack.
DB /5
FLD m80fp
Valid
Valid
Push m80fp onto the FPU register stack.
D9 C0+i
FLD ST(i)
Valid
Valid
Push ST(i) onto the FPU register stack.