Table 3-4. Decimal String Type Definitions
Word 5
Operand
15 14 13 12
Type
SM SE y y
-~ INFINITY 0/1 1 1 1
-+ NAN 0/1 I 1 1
-+SNAN 0/1 1 1 1
-+ ZERO O 011 x x
- ZERO 1 011 x x
+ In-Range 0 011
x x
- In-Range 1 0/1 x x
NOTES:
11 ...0
Word 4
15...0
1-Digit
Integer
Words 3-0
16-Digit Fraction
3-Digit
Exponent
SFFF $xxx $00... 00
$FFF $xxxx Nonzero (see Note 1}
$FFF Sxxxx Nonzero (see Note 1)
$000-$999 $xxx0 $00... 0O
$000-$999 Sxxx0 $00... 00
$000-$999 Sxxx0-$xxx9 $00... 01-$99... $99
$000-$999
$xxxO-$xxx9
$00 . . . 01-$99• . . $99
1. A decimal string with the SE and y bits set, an exponent of $FFF, and a nonzero 16-digit decimal fraction is a NAN.
When this string is used by the FPCP, the fraction part of the NAN is moved bit-for-bit into the extended precision
mantissa of a floating-point register. The exponent of the register is set to signify a NAN, but no decimal-to-binary
conversion or any other conversion is performed. Therefore, the most significant bit of the most significant digit in the
decimal fraction (most significant bit of MANT15) is a don't care (as in extended NANs), and the most significant bit
minus one of MANT15 is the signaling NAN (SNAN) bit. If the NAN bit is a zero, then it is a SNAN.
2. If a nondecimal digit [$A... SF] appears in the exponent of a zero, the number is converted to a true zero. The FPCP
does not detect nondecimal digits [$A... $F] in the exponent, integer, or fraction digits of an in-range decimal string,
These nondecimal digits are converted to binary in the same manner as decimal digits; however, the result is probably
useless although it is repeatable.
3. Since in-range numbers cannot overflow or underflow when converted to extended precision, normalized extended
precision numbers are always produced by conversion from the decimal data format.
o,u,, ur ~,~,,oo~ I__ 0 = POSITIVE, 1 = NEGATIVE IMPLICIT DECIMAL POINT
-- SIGN OF EXPONENT
J
l
i USED ONLY FOR +INFINITY QR NANtS) DON'T CARES
, I
I I
I I YY EXP2 EXP1 EXPO ,EXP3, XXXX XXXX MANT,6
MANT15 MANT14 MANT13 MANT12 MANT11 MANTI0 MANT9 MANT8
MANT7 MANT6 MANT5 MANT4 MANT3 MANT2 MANT1 MANT0
MANTn
EXPn
XXXX
Is the nth digit of the mantissa.
is the nth digit of the exponent. EXP3 is only generated during a move out operation if the source
operand exponent exceeds the ~nagnitude of a three digit exponent; otherwise, it is a don't
care.
Only EXPO-EXP2 are used for input.
Are
don't care bits, which ere zero when written and ignored when read.
Figure 3-11. Packed Decimal Real Data Format Detail
MC68881/MC68882 USER'S MANUAL FREESCALE
3-13