Xerox 550 Reference Manual page 69

Computer
Hide thumbs Also See for 550:
Table of Contents

Advertisement

MI
MULTIPLY IMMEDIATE
(Immediate operand)
The value field (bit positions 12-31 of the instruction word)
is treated as a 20-bit, two's complement integer. MULTIPLY
IMMEDIATE extends the sign of the value field (bit posi-
tion 12) of the instruction word 12 bit positions to the left
and multiplies the resulting 32-bit value by the contents
of register Ru1, then loads the 32 high-order bits of the
product into register R, and then loads the 32 low-order
bits of the product into register Ru 1.
If
R is an odd value, the result in register R is the 32 low-
order bits of the product.
Thus, in order to generate a
64-bit product, the R field of the instruction must be even
and the multiplicand must be in register R+1.
The condi-
tion code settings are based on the 64-bit product formed
during instruction execution, rather than on the final con-
tents of register R.
Overflow cannot occur.
Affected: (R), (Ru
1),
CC2,
CC3, CC4
(Rul) x (I)12-31SE - R , Ru1
Condition code settings:
2
3
4
64-bi t product
-
-
0
0
Zero.
-
0
Negative.
o
Positive
Trap: Nonexistent instruc-
tion
if
bit 0 is a
1.
o
Result is correct, as represented in regis-
ter Ru 1.
Result is not correctly representable in reg-
ister Ru 1 alone.
If MI is indirectly addressed, it is treated as a nonexistent
instruction, in which case the BP unconditionally aborts
execution of the instruction (at the time of operation code
decoding) and traps to location X'40' with the contents
of register R, register Ru 1, and the condition code un-
changed; otherwise, the BP executes the next instruction
in sequence.
Example
1,
even R field value:
Before execution
After execution
(I)
12-31
X'70000'
X'70000'
(R)
xxxxxxxx
X' 00007000'
(Ru 1)
X'10001000'
X' 70000000'
CC
xxxx
x110
62
Fixed-Point Arithmetic Instructions
Example 2, odd R field value:
Before execution
After execution
(1)12-31
X'01234'
X'01234'
(R)
X'00030002'
X'369C2468'
CC
xxxx
x010
MH
MULTIPLY HALFWORD
(Halfword index alignment)
MULTIPLY HALFWORD multipl ies the contents of bit posi-
tions 16-31 of register R by the effective halfword (with
both halfwords treated as signed, two's complement inte-
gers) and stores the product in register Ru 1 (overflow cannot
occur).
If R is an even value, the original multiplier
in register R is preserved, allowing repetitive halfword
r:nultiplication with a constant multiplier; however, if R is
an odd value, the product is loaded into the same register.
Overflow cannot occur.
Affected: (Rul), CC3, CC4
(R)16-31 x EH -Ru1
Condition code settings:
2
3
4
Result in Ru1
-
0
0
Zero
-
0
Negative
o
Positive
Example
1,
even R fieid value:
EH
X'FFFF'
(R)
X' xxxxOOOA'
(Ru 1)
xxxxxxxx
CC
xxxx
Example 2, odd R field value:
Before execl)tion
EH
X'FFFF'
(R)
X' xxxxOOOA '
CC
xxxx
X'FFFF'
X' xxxxOOOA '
X'FFFFFFF6'
xx01
After execution
X'FFFF'
X'FFFFFFF6'
xxOl

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents