Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1475

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

FST/FSTP—Store Real
Opcode
D9 /2
DD /2
DD D0+i
D9 /3
DD /3
DB /7
DD D8+i
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;
Volume 4: Base IA-32 Instruction Reference
Instruction
Description
FST m32real
Copy ST(0) to m32real
FST m64real
Copy ST(0) to m64real
FST ST( i )
Copy ST(0) to ST(i)
FSTP m32real
Copy ST(0) to m32real and pop register stack
FSTP m64real
Copy ST(0) to m64real and pop register stack
FSTP m80real
Copy ST(0) to m80real and pop register stack
FSTP ST( i )
Copy ST(0) to ST( i ) and pop register stack
4:173

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents