Volume 4: Base IA-32 Instruction Reference
4:173
FST/FSTP—Store Real
Description
The FST instruction copies the value in the ST(0) register to the destination operand,
which can be a memory location or another register in the FPU registers stack. When
storing the value in memory, the value is converted to single- or double-real format.
The FSTP instruction performs the same operation as the FST instruction and then pops
the register stack. To pop the register stack, the processor marks the ST(0) register as
empty and increments the stack pointer (TOP) by 1. The FSTP instruction can also
stores values in memory in extended-real format.
If the destination operand is a memory location, the operand specifies the address
where the first byte of the destination value is to be stored. If the destination operand
is a register, the operand specifies a register in the register stack relative to the top of
the stack.
If the destination size is single- or double-real, the significand of the value being stored
is rounded to the width of the destination (according to rounding mode specified by the
RC field of the FPU control word), and the exponent is converted to the width and bias
of the destination format. If the value being stored is too large for the destination
format, a numeric overflow exception (#O) is generated and, if the exception is
unmasked, no value is stored in the destination operand. If the value being stored is a
denormal value, the denormal exception (#D) is not generated. This condition is simply
signaled as a numeric underflow exception (#U) condition.
If the value being stored is ±0, ±
, or a NaN, the least-significant bits of the significand
and the exponent are truncated to fit the destination format. This operation preserves
the value’s identity as a 0,
or NaN.
If the destination operand is a non-empty register, the invalid-operation exception is
not generated.
Operation
DEST
ST(0);
IF instruction = FSTP
THEN
PopRegisterStack;
FI;
Opcode
Instruction
Description
D9 /2
FST
m32real
Copy ST(0) to
m32real
DD /2
FST
m64real
Copy ST(0) to
m64real
DD D0+i
FST ST(
i
)
Copy ST(0) to ST(i)
D9 /3
FSTP
m32real
Copy ST(0) to
m32real
and pop register stack
DD /3
FSTP
m64real
Copy ST(0) to
m64real
and pop register stack
DB /7
FSTP
m80real
Copy ST(0) to
m80real
and pop register stack
DD D8+i
FSTP ST(
i
)
Copy ST(0) to ST(
i
) and pop register stack
Содержание ITANIUM ARCHITECTURE
Страница 1: ......
Страница 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 269: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 270: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 273: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 288: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 368: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 373: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Страница 604: ......