Motorola DSP96002 User Manual
Page 737
C-14
DSP96002 USER’S MANUAL
MOTOROLA
C.1.5.1.1.2
SP Move Of A SP Denormalized Number
This section describes what happens when a 32-bit denormalized, single precision number is written by a sin-
gle precision floating-point move, into a Data ALU floating-point register D0-D9. Following the above opera-
tion, the Data ALU register will be read first by a single precision and then by a double precision floating-point
move.
- 32-bit data from source is $00200000 (= +2**(-128))
- exp = $00 (8 bit bias)
- mantissa = $200000 (the hidden bit is zero)
- data stored in the register
- e = 380 (incorrect representation with 11-bit bias; the
correct representation would be 37F)
- I = 0 (the number is unnormalized)
- U-TAG = 1 (set; the number cannot be used in computations
without adding extra cycles for normalization,
since it is unnormalized)
- fraction = 40000000
- mantissa = 0.010...00
In this last case, the U-TAG tells us that an operation using this operand will first add extra cycles to normalize
it. However, an SP move will render the correct result since the format conversion presented in Section 5.5
chooses the correct bits. One should notice that a double precision floating-point move that reads the register
will yield the wrong data in this case.
0 01111111 0000 ..... 00
inv
0 0 0 Zero 01111111111 1 0000 ............................. 00
SP read of the register
0 0 0 Zero 01111111111 1 0000 ............................. 00
0 01111111 0000 ..... 00 Data read correctly
(read as 1.0)
DP read of the register
0 0 0 Zero 01111111111 1 0000 ............................. 00
\ /
/ \
0 01111111111 0000 ...... 00 Data read correctly
(read as 1.0)
SP move into the register
Figure C-11. Single Precision (SP) Move Of A SP Normalized Number