Download Print this page

Move With Offset - IBM 4300 Manual

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

Advertisement

The rightmost four bits of each byte in the second
operand are placed in the rightmost bit positions of
the corresponding bytes in the first operand. The
leftmost four bits of each byte in the first operand
remain unchanged.
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
re~ult
byte were stored immediately after the
necessary operand byte is fetched.
Condition Code: The code remains unchanged.
Program Exceptions:
Access (fetch, operand 2; fetch and store,
operand 1)
Programming Notes
1. An example of the use of MOVE NUMERICS
is given in Appendix A.
2. MVN moves the numeric portion of a
decimal-data field that is in the zoned format.
The zoned-decimal format is described in
Chapter 8, "Decimal Instructions." The
operands are not checked for valid sign and
digit codes.
3. Accesses to the first operand of MVN consist in
fetching the rightmost four bits of each byte in
the first operand and subsequently storing the
updated value of the byte. These fetch and
store accesses to a particular byte do not
necessarily occur one immediately after the
other. Thus, this instruction 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 for the instruction OR
(On in the section "Multiprogramming and
Multiprocessing Examples" in Appendix A.
MOVE WITH OFFSET
MVO
D1(L1,B1),D2(L2,B2)
[55]
/
/
• F 1 •
I
L1
I
L2
I
B1
I
D 1
B2
~~
/
0
8
12
16
20
32
36
The second operand is placed to the left of and
adjacent to the rightmost four bits of the first
operand.
47
The rightmost four bits of the first operand are
attached as the rightmost bits to the second
operand, the second operand bits are offset by four
bit positions, and the result is placed in the
first-operand location.
The result is obtained as if the operands were
processed right to left. When necessary, the second
operand is considered to be extended on the left
with zeros. If the first operand is too short to
contain all of the second operand, the remaining
leftmost portion of the second operand is ignored.
Access exceptions for the unused portion of the
second operand mayor may not be indicated.
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 bytes are
fetched. The left digit of each second-operand
byte remains available for the next result byte and
is not refetched.
Condition Code: The code remains unchanged.
Program Exceptions:
Access (fetch, operand 2; fetch and store,
operand 1)
Programming Notes
1. An example of the use of MOVE WITH
OFFSET is given in Appendix A.
2.
Access to the rightmost byte of the first
operand ofMVO consists in fetching the
rightmost four bits and subsequently storing the
updated value of this byte. These fetch and
store accesses to the rightmost byte of the first
operand do not necessarily occur one
immediately after the other. Thus, this
instruction 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 for the instruction OR (01) in
the section "Multiprogramming and
Multiprocessing Examples" in Appendix A.
3. MVO may be used to shift packed decimal data
by an odd number of digit positions. The
packed-decimal format is described in Chapter
8, "Decimal Instructions." The operands are
not checked for valid sign and digit codes. In
many cases however, the instruction SHIFT
AND ROUND DECIMAL may be more
convenient to use.
Chapter 7. General Instructions
7 -25

Advertisement

loading