User Guide
x87 Floating-Point Programming 287
24592—Rev. 3.15—November 2009 AMD64 Technology
Overflow exception
(OE)
Round to nearest.
• If sign of result is positive, set OE flag, and return
+∞.
• If sign of result is negative, set OE flag, and return
-∞.
Round toward +
∞.
• If sign of result is positive, set OE flag, and return
+∞.
• If sign of result is negative, set OE flag, and return
finite negative number with largest magnitude.
Round toward -∞.
• If sign of result is positive, set OE flag, and return
finite positive number with largest magnitude.
• If sign of result is negative, set OE flag, and return
-∞.
Round toward 0.
• If sign of result is positive, set OE flag and return
finite positive number with largest magnitude.
• If sign of result is negative, set OE flag and return
finite negative number with largest magnitude.
Underflow exception (UE)
• If result is both denormal (tiny) and inexact, set UE
flag and return denormalized result.
• If result is denormal (tiny) but not inexact, return
denormalized result but do not set UE flag.
Precision exception
(PE)
Without overflow or underflow
Set PE flag, return rounded result, write C1 condition
code to specify round-up (C1 = 1) or not round-up
(C1 = 0).
With masked overflow or
underflow
Set PE flag and respond as for the OE or UE
exceptions.
With unmasked overflow or
underflow for register
destination
Set PE flag, respond to the OE or UE exception by
calling the #MF service routine.
With unmasked overflow or
underflow for memory
destination
Do not set PE flag, respond to the OE or UE
exception by calling the #MF service routine. The
destination and the TOP are not changed.
Table 6-21. Masked Responses to x87 Floating-Point Exceptions (continued)
Exception and
Mnemonic
Type of
Operation
1
Processor Response
Note:
1. See “Instruction Summary” on page 261 for the types of instructions.
2. Includes invalid-operation exception (IE) together with stack fault (SF).
3. See “Indefinite Values” on page 258.