Bits 24-31 of general register R, are
placed unchanged at the second-operand
location. The second operand is one
byte in length. Condition Code: unchanged. Program Exceptions:
The code
Access (store, operand 2)
STORE CHARACTERS UNDER MASK
o 8 12 16 20 remains
31
Bytes selected from general register R, under control of a mask are placed at
contiguous byte locations beginning at
the second-operand address.
The contents of the M3 field are used as
a mask. These four bits, left to right,
correspond one for one with the four
bytes, left to right, of general regisĀ­
ter R,. The bytes corresponding to ones
in the mask are placed in the same order
at successive and contiguous storage
locations beginning at the secondĀ­
operand address. When the mask is not
zero, the length of the second operand
is equal to the number of ones in the
mask. The contents of the general
register remain unchanged.
When the mask is not zero, exceptions
associated with storage-operand accesses
are recognized only for the number of
bytes specified by the mask.
When the mask is zero, the single byte
designated by the second-operand address remains unchanged; however, on some
models, the value may be fetched and
subsequently stored back unchanged at
the same storage location. This update
appears to be an interlocked-update
reference as observed by other CPUs. Condition Code: unchanged. Program Exceptions:
The code
Access (store, operand 2) Programming Notes remains
1. An example of the use of the STORE CHARACTERS UNDER MASK instruction
is given in Appendix A.
2. STORE CHARACTERS UNDER MASK with a
mask of 0111 may be used to store a
three-byte address, for example, in modifying the address in a CCW. 3. STORE CHARACTERS UNDER MASK with a
mask of 1111, 0011, or 0001 performs the same function as STORE, STORE HAlFWORD, or STORE CHARACTER, respectively. However,
on most models, the performance of STORE CHARACTERS UNDER MASK is
slower.
4. Using STORE CHARACTERS UNDER MASK
with a zero mask should be avoided
since this instruction, depending
on the model, may perform a fetch and store of the single byte desig-
nated by the second-operand
address. This reference is not
interlocked against accesses by
channels. In addition, it may
cause any of the following to occur
for the byte designated by the
second-operand address: a PER storage-alteration event may be
recognized; access exceptions may
be recognized; and, provided no
access exceptions exist, the change bit may be set to one. STORE CLOCK STCK [5] 'B205' o 16 20 31
The current value of the TaD clock is
stored at the eight-byte field desigĀ­
nated by the second-operand address,
provided the clock is in the set,
stopped, or not-set state. Zeros are stored for the rightmost bit
positions that are not provided by the
clock.
When the clock is in the error state,
the value stored is unpredictable. When
the clock is in the not-operational
state, zeros are stored at the operand
location.
The quality of the clock value stored by
the instruction is indicated by the
resultant condition-code setting.
A serialization function is performed
before the value of the clock is fetched
and again after the value is placed in
storage.
Resulting Condition Code: o Clock in set state
1 Clock in not-set state
2 Clock in error state Chapter 7. General Instructions 7-35
3 Clock in stopped state or notĀ­
operational state Program Exceptions:
Access (store, operand 2) Programming Notes
1. Bit position 31 of the clock is
incremented every 1.048576 seconds;
hence, for timing applications
involving human responses, the
leftmost clock word may provide
sufficient resolution.
2. Condition code 0 normally indicates
that the clock has been set by the
control program. Accordingly, the value may be used in elapsed-time
measurements and as a valid timeĀ­
of-day and calendar indication. Condition code 1 indicates that the
clock value is the elapsed time
since the power for the clock was
turned on. In this case, the value
may be used in elapsed-time measĀ­
urements but is not a valid timeĀ­
of-day indication. Condition codes
2 and 3 mean that the value
provided by STORE CLOCK cannot be
used for time measurement or indiĀ­
cation.
3. Condition code 3 indicates that the
clock is in either the stopped
state or the not-operational state.
These two states can normally be
distinguished because an all-zero
value is stored when the clock is in the not-operational state. STORE HAlFWORD o 8 12 16 20 31
Bits 16-31 of general register Rt are
placed unchanged at the second-operand
location. The second operand IS two
bytes in length. Condition Code: The code remains
unchanged. Program Exceptions:
Access (store, operand 2)
7-36 System/370 Principles of Operation STORE MULTIPLE o 8 12 16 20 31
The contents of the set of general
registers starting with general register
R t and ending with general register R3
are placed in the storage area beginning
at the location designated by the
second-operand address and continuing
through as many locations as needed.
The general registers are stored in the
ascending order of register numbers,
starting with general register Rt and
continuing up to and including general
register R
3
, with general register 0 following general register 15. Condition Code: unchanged. Program Exceptions:
The code remains
Access (store, operand 2) Programming Note
An example of the use MULTIPLE instruction is
dix A. SUBTRACT SR R t , R 2 [RR] , IB' I R t I R2 I 0 8 12 15
S R p D
2
(X
2
,B
2
)
'5B' I R t I X 2 I B2 o 8 12 16
of the STORE given in Appen-
[RX] D2 20 31
The second operand is subtracted from
the first operand, and the difference is
placed at the first-operand location.
The operands and the difference are
treated as 32-bit signed binary
integers.
When there is an overflow, the result is
obtained by allowing any carry into the
sign-bit position and ignoring any carry
out of the sign-bit position, and condiĀ­
tion code 3 is set. If the fixedĀ­
point-overflow mask is one, a program
Previous Page Next Page