Download Print this page

IBM 4300 Manual page 120

Processors principles of operation for ecps: vse mode
Hide thumbs Also See for 4300:

Advertisement

The multiplicand is treated as a 32-bit signed
binary integer and is replaced by the low-order 32
bits of the signed-binary-integer product. The bits
to the left of the 32 low-order bits are not tested
for significance; no overflow indication is given.
The sign of the product is determined by the
rules of algebra from the multiplier and
multiplicand sign, except that a zero result is
always positive.
Condition Code: The code remains unchanged.
Program Exceptions:
Access (fetch, operand 2)
Programming Notes
1.
An example of the use of MULTIPLY
HALFWORD is given in Appendix A.
2. The significant part of the product usually
occupies 46 bits or fewer. Only when two
maximum negative numbers are multiplied are
47 significant product bits formed. Since the
low-order 32 bits of the product are stored
unchanged, ignoring all bits to the left, the sign
bit of the result may differ· from the true sign of
the product in the case of overflow. For a
negative product, the 32 bits placed in register
R
1
are the low-order part of the product in
two's-complement notation.
OR
OR
R1,R2
[RR]
116 1
I R1
I
R2 I
o
8
12
15
o
R1,02(X2,B2)
[RX]
156
1
I
R 1 I X2
I
B2
02
o
8
12
16
20
31
01
196 1
12
o
8
16
20
31
DC
[SS]
r-----~------~------/--~-----~-/
~_,_06_'
__
~
__ L __
~I_B_1~1_~1
B2
~~
o
8
16
20
32
36
47
The 0 R of the first and second operands is placed
in the first-operand location.
The connective ORis applied to the operands bit
by bit. A bit position in the result is set to one if
the corresponding bit position in one or both
operands contains a one; otherwise, the result bit is
set to zero.
For
~C,
each operand is processed left to right.
When the operands overlap, the result is obtained
as if the operands were processed one byte at a
time and each result byte were stored immediately
after the necessary operand byte is fetched.
For 01, the first operand is only one byte in
length, and only one byte is stored.
Resulting Condition Code:
o
Result is zero
Result is not zero
2
3
Program Exceptions:
Access (fetch, operand 2, 0 anti DC; fetch and
store, operand 1, 01 and DC)
Programming Notes
1. Examples of the use of the OR instructions are
given in Appendix A.
2. The instruction OR may be used to set a bit to
one.
3. Accesses to the first operand of 01 and DC
consist in fetching a first-operand byte from
storage and subsequently storing the updated
value. These fetch and store accesses to a
particular byte do not necessarily occur one
immediately after the other. Thus, the
instruction OR cannot be safely used to update
a location in storage if the possibility exists that
another CPU or a channel may also be
updating the location. An example of this
effect is shown in the section
"Multiprogramming and Multiprocessing
Examples" in Appendix A.
Chapter 7. General Instructions
7 -27

Advertisement

loading