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

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

Advertisement

FXTRACT—Extract Exponent and Significand
Opcode
D9 F4
Description
Separates the source value in the ST(0) register into its exponent and significand,
stores the exponent in ST(0), and pushes the significand onto the register stack.
Following this operation, the new top-of-stack register ST(0) contains the value of the
original significand expressed as a real number. The sign and significand of this value
are the same as those found in the source operand, and the exponent is 3FFFH (biased
value for a true exponent of zero). The ST(1) register contains the value of the original
operand's true (unbiased) exponent expressed as a real number. (The operation
performed by this instruction is a superset of the IEEE-recommended logb(x) function.)
This instruction and the F2XM1 instruction are useful for performing power and range
scaling operations. The FXTRACT instruction is also useful for converting numbers in
extended-real format to decimal representations (e.g. for printing or displaying).
If the floating-point zero-divide exception (#Z) is masked and the source operand is
zero, an exponent value of - is stored in register ST(1) and 0 with the sign of the
source operand is stored in register ST(0).
Operation
TEMP  Significand(ST(0));
ST(0)  Exponent(ST(0));
TOP TOP  1;
ST(0)  TEMP;
FPU Flags Affected
C1
C0, C2, C3
Floating-point Exceptions
#IS
#IA
#Z
#D
Additional Itanium System Environment Exceptions
Itanium Reg Faults Disabled FP Register Fault if PSR.dfl is 1, NaT Register Consumption
Volume 4: Base IA-32 Instruction Reference
Instruction
Description
FXTRACT
Separate value in ST(0) into exponent and significand, store
exponent in ST(0), and push the significand onto the register
stack.
Set to 0 if stack underflow occurred; set to 1 if stack overflow
occurred.
Undefined.
Stack underflow occurred.
Stack overflow occurred.
Source operand is an SNaN value or unsupported format.
ST(0) operand is 0.
Source operand is a denormal value.
Abort.
4:197

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents