<<<    Index    >>>
3-239
INSTRUCTION SET REFERENCE
FSCALEĀ—Scale (Continued)
In this example, the FXTRACT instruction extracts the significand and exponent from the value
in ST(0) and stores them in ST(0) and ST(1) respectively. The FSCALE then scales the signifi-
cand in ST(0) by the exponent in ST(1), recreating the original value before the FXTRACT
operation was performed. The FSTP ST(1) instruction overwrites the exponent (extracted by the
FXTRACT instruction) with the recreated value, which returns the stack to its original state with
only one register [ST(0)] occupied.
Operation
ST(0) 
<
 ST(0) 
2
ST(1)
;
FPU Flags Affected
C1
Set to 0 if stack underflow occurred.
Indicates rounding direction if the inexact result exception (#P) is gener-
ated: 0 = not roundup; 1 = roundup.
C0, C2, C3 
Undefined.
Floating-Point Exceptions
#IS
Stack underflow occurred.
#IA
Source operand is an sNaN value or unsupported format.
#D
Source operand is a denormal value.
#U
Result is too small for destination format.
#O
Result is too large for destination format.
#P
Value cannot be represented exactly in destination format.
Protected Mode Exceptions
#NM
EM or TS in CR0 is set.
Real-Address Mode Exceptions
#NM
EM or TS in CR0 is set.
Virtual-8086 Mode Exceptions
#NM
EM or TS in CR0 is set.
<<<    Index    >>>