x86 Instruction Set Reference
FLD
Load Floating Point Value
| Opcode | Mnemonic | Description |
|---|---|---|
D9 /0 |
FLD m32fp |
Push m32fp onto the FPU register stack. |
DD /0 |
FLD m64fp |
Push m64fp onto the FPU register stack. |
DB /5 |
FLD m80fp |
Push m80fp onto the FPU register stack. |
D9 C0+i |
FLD ST(i) |
Push ST(i) onto the FPU register stack. |
| Description |
|---|
|
Pushes the source operand onto the FPU register stack. The source operand can be in singleprecision, 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. |
| Operation |
|---|
if(Source == ST(i)) Temporary = ST(i); Top = Top - 1; if(IsMemoryOperand(Source)) ST(0) = ConvertToExtendedDouble(Source); else ST(0) = Temporary; |
| FPU flags affected |
|---|
|
C1 Set to 1 if stack overflow occurred; otherwise, set to 0. C0, C2, C3 Undefined. |
| Floating-Point Exceptions | ||||
|---|---|---|---|---|
|
| Protected Mode Exceptions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Real-Address Mode Exceptions | ||||||
|---|---|---|---|---|---|---|
|
| Virtual-8086 Mode Exceptions | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|