Computational Units
2 – 31
2
In addition to the direction of the shifting operation, the shift may be
either arithmetic (ASHIFT) or logical (LSHIFT). For example, the following
shows a logical shift, relative to the upper half of SR (HI):
SI=0xB6A3;
SR=LSHIFT SI BY –5 (HI);
Input:
10110110 10100011
Shift value:
-5
SR:
00000 101 10110101 00011 000 00000000
This example shows an arithmetic shift of the same input and shift code:
SI=0xB6A3;
SR=ASHIFT SI BY –5 (HI);
Input:
10110110 10100011
Shift value:
-5
SR:
11111 101 10110101 00011 000 00000000
2.4.2.4 Denormalize
Denormalizing refers to shifting a number according to a predefined
exponent. The operation is effectively a floating-point to fixed-point
conversion.
Denormalizing requires a sequence of operations. First, the SE register
must contain the exponent value. This value may be explicitly loaded or
may be the result of some previous operation. Next the shift itself is
performed, taking its shift value from the SE register, not from an
immediate data value.