7-28
FLOATING-POINT UNIT
The most significant bit of each format is the sign bit (0 for positive and 1 for negative). Nega-
tive values are represented in standard twos complement notation. The quantity zero is repre-
sented with all bits (including the sign bit) set to zero. Note that the FPUs word-integer data
type is identical to the word-integer data type used by the processors integer unit and the short-
integer format is identical to the integer units doubleword-integer data type.
Word-integer values are stored in 2 consecutive bytes in memory; short-integer values are stored
in 4 consecutive bytes; and long-integer values are stored in 8 consecutive bytes. When loaded
into the FPUs data registers, all the binary integers are exactly representable in the extended-
real format.
The binary integer encoding 100..00B represents either of two things, depending on the circum-
stances of its use:
The largest negative number supported by the format (2
15
, 2
31
, or 2
63
).
The integer indefinite value.
If this encoding is used as a source operand (as in an integer load or integer arithmetic instruc-
tion), the FPU interprets it as the largest negative number representable in the format being used.
If the FPU detects an invalid operation when storing an integer value in memory with an
FIST/FISTP instruction and the invalid operation exception is masked, the FPU stores the
integer indefinite encoding in the destination operand as a masked response to the exception. In
situations where the origin of a value with this encoding may be ambiguous, the invalid opera-
tion exception flag can be examined to see if the value was produced as a response to an
exception.
Table 7-10. Binary Integer Encodings
Class
Sign
Magnitude
Positive
Largest
0
11..11
.
.
.
.
.
.
Smallest
0
00..01
Zero
0
00..00
Negative
Smallest
1
11..11
.
.
.
.
.
.
.
.
Largest
1
00..00
Integer Indefinite
1
00..00
Word Integer:
Short Integer:
Long Integer:
<
15 bits
>
<
31 Bits
>
<
63 Bits
>