User Guide

x87 Floating-Point Programming 253
24592—Rev. 3.15—November 2009 AMD64 Technology
bits in the 80-bit format are reserved (ignored on loads, zeros on stores). The high bit (bit 79) is a sign
bit.
Figure 6-9. x87 Packed Decimal Data Type
Two x87 instructions operate on the packed-decimal data type. The FBLD (floating-point load binary-
coded decimal) and FBSTP (floating-point store binary-coded decimal integer and pop) instructions
push and pop, respectively, a packed-decimal memory operand between the floating-point stack and
memory. FBLD converts the value being pushed to a double-extended-precision floating-point value.
FBSTP rounds the value being popped to an integer.
For details on the format and use of 4-bit BCD integers, see “Binary-Coded-Decimal (BCD) Digits”
on page 38.
6.3.3 Number Representation
Of the following types of floating-point values, six are supported by the architecture and three are not
supported:
Supported Values
- Normal
- Denormal (Tiny)
- Pseudo-Denormal
- Zero
- Infinity
- Not a Number (NaN)
Unsupported Values
- Unnormal
- Pseudo-Infinity
- Pseudo-NaN
The supported values can be used as operands in x87 floating-point instructions. The unsupported
values cause an invalid-operation exception (IE) when used as operands.
079
Precision 18 Digits, 72 Bits Used, 4-Bits/Digit
71
S
Ignore
or Zero
Description Bits
Ignored on Load, Zeros on Store 78-72
Sign Bit 79
78 72