15
15 – 58
Syntax:
[ IF cond ] SB = EXPADJ xop ;
Permissible xops
Permissible conds (see Table 15.9)
SI
AR
EQ
LE
AC
SR1
MR2
NE
NEG
NOT AC
SR0
MR1
GT
POS
MV
MR0
GE
AV
NOT MV
LT
NOT AV
NOT CE
Example:
IF GT SB = EXPADJ SI ;
Description:
Test the optional condition and, if true, perform the
designated exponent operation. If the condition is not true then perform a
no-operation. Omitting the condition performs the exponent operation
unconditionally. The Block Exponent Adjust operation, when performed
on a series of numbers, derives the effective exponent of the number
largest in magnitude. This exponent can then be associated with all of the
numbers in a block floating point representation.
The Block Exponent Adjust circuitry applies the input operand to the
exponent detector to derive its effective exponent. The input must be a
signed twos complement number. The exponent detector operates in HI
mode (see the EXP instruction, above).
At the start of a block, the SB register should be initialized to –16 to set SB
to its minimum value. On each execution of the EXPADJ instruction, the
effective exponent of each operand is compared to the current contents of
the SB register. If the new exponent is greater than the current SB value, it
is written to the SB register, updating it. Therefore, at the end of the block,
the SB register will contain the largest exponent found. EXPADJ is only an
inspection operation; no actual shifting takes place since the true exponent
is not known until all the numbers in the block have been checked.
However, the numbers can be shifted at a later time after the true
exponent has been derived.
Extended (overflowed) numbers and the lower halves of double precision
numbers can not be processed with the Block Exponent Adjust instruction.
Status Generated:
Not affected.
SHIFTER
BLOCK EXPONENT ADJUST