interruption  takes  place  for  a  privileged  
operation exception (1. B. 1 ).
6.If   an  access   exception  exists  for  a  store  access  
made with thePSW   key  to  the  location  
designated by the first-operand address,
execution of this function ends, and a program
interruption is taken for the access exception
found (1.B.2).
7. The old value of byte0   of  the  virtual  PSW   is  
stored at the first-operand logical address. The
updated virtualPSW   is  stored  as  the  new  
virtualPSW   with  a  key  of  zero  (2).  
Execution of this function ends with completion
of theSTORE   THEN  AND  SYSTEM  MASK  
instruction.
Figure 17 summarizes the fields used.STORE   THEN  OR   SYSTEM   MASK   The  STORE   THEN  OR   SYSTEM  MASK  
instruction is executed for a virtual machine if the
virtual-machine assist is activated for System/370
instructions, unless (1) a virtual-machine
interruption may follow, (2) the first operand or
some pertinentVM/370   control  field  cannot  be  
accessed, or (3) thePER   mask  or  the  DAT  bit  of  
the virtualPSW   would  be  changed.  
If the shadow-table-bypass assist is not installed,
the store-then-OR-system-mask function of the
virtual-machine assist is invoked each time aCPU   attempts  to  execute  a  STORE   THEN  OR   SYSTEM  
MASK instruction when the problem-state bit of
the realPSW   is  one.  If  the  shadow-table-bypass  
assist is installed, the store-then-OR-system-mask
function of the virtual-machine assist may be.   invoked  only  from  the  STOSM   function  of  the  
shadow-table-bypass assist. Execution of this
function consists in performing the following steps:
1. If bits0-3   of  control  register  6  are  not  10XO   binary,  execution  of  this  function  ends,  a  
program interruption takes place for a
privileged-operation exception, and execution
of theSTORE   THEN  OR   SYSTEM  MASK  
instruction is suppressed (l.A.l).
FieldControl   Address  Offset  No.  of  
2. The wordMICVPSW,   which  contains  the  
address of the virtualPSW,   is  fetched  with  a  
key of zero. Execution ends if an addressing
condition is encountered (l.A.2).
3. The first halfword ofVMPSW,   which  contains  
the virtualPSW,   is  fetched  with  a  key  of  zero.  
Execution ends if an addressing condition is
encountered (l.A.3).
4. A new first byte for the virtualPSW   is  
computed by taking the logicalOR   of  the  
immediate field (12) of the instruction and byte
o of the virtualPSW   fetched.  If  the  virtual  PSW   is  in  the  EC  mode  (bit  12  is  one)  and  if  
the replacement of byte0   of  the  virtual  PSW   by  the  new  byte  0   would  change  any  of  the  bits  
in bit positions0-5   from  zero  to  one,  execution  
of this function ends. Execution also ends if
bit0   of  MICVPSW   is  one  and  if  the  
replacement of byte0   of  the  virtual  PSW   by  
the newPSW   would  change  any  bit  from  zero  
to one. Ending of execution invokes the store
then-OR-system-mask function of the expanded
virtual-machine assist if that assist is installed.Otherwise,   ending  of  execution  causes  a  
program interruption to be taken for a
privileged-operation exception (l.A. 4).
5. The second halfword of the instruction is
fetched. If an access condition is encountered,
execution of this function ends, and a program
interruption takes place for a privileged
operation exception(1.B.O.   6.  If  an  access  exception  exists  for  a  store  access  
made with thePSW   key  to  the  location  
designated by the first-operand logical address,
execution of this function ends, and a program
interruption takes place for the access
exception found (1.B.2).
7. The old value of byte0   of  the  virtual  PSW   is  
stored at the first-operand logical address. The
updated virtualPSW   is  stored  with  a  key  of  
zero as the new virtualPSW.   Execution  of  this  
function ends with the completion of theSTORE   THEN  OR   SYSTEM  MASK  instruction  
(2).
Figure 18 summarizes the fields used.
Name Block Type (Hex) BytesContents   MICVPSW   MICBLOK   Real  8  4  Address  of  VMPSW   VMPSW   VMBLOK   Real  0   2  Virtual  PSW   bits  0-15   Operand  1  -Logical  -1  Old   system  mask  
Figure 17. Fields Used inSTORE   THEN  AND  SYSTEM  MASK  
22 Virtual-Machine Assist and Shadow-Table-Bypass Assist
operation exception (1. B. 1 ).
6.
made with the
designated by the first-operand address,
execution of this function ends, and a program
interruption is taken for the access exception
found (1.B.2).
7. The old value of byte
stored at the first-operand logical address. The
updated virtual
virtual
Execution of this function ends with completion
of the
instruction.
Figure 17 summarizes the fields used.
instruction is executed for a virtual machine if the
virtual-machine assist is activated for System/370
instructions, unless (1) a virtual-machine
interruption may follow, (2) the first operand or
some pertinent
accessed, or (3) the
the virtual
If the shadow-table-bypass assist is not installed,
the store-then-OR-system-mask function of the
virtual-machine assist is invoked each time a
MASK instruction when the problem-state bit of
the real
assist is installed, the store-then-OR-system-mask
function of the virtual-machine assist may be
shadow-table-bypass assist. Execution of this
function consists in performing the following steps:
1. If bits
program interruption takes place for a
privileged-operation exception, and execution
of the
instruction is suppressed (l.A.l).
Field
2. The word
address of the virtual
key of zero. Execution ends if an addressing
condition is encountered (l.A.2).
3. The first halfword of
the virtual
Execution ends if an addressing condition is
encountered (l.A.3).
4. A new first byte for the virtual
computed by taking the logical
immediate field (12) of the instruction and byte
o of the virtual
the replacement of byte
in bit positions
of this function ends. Execution also ends if
bit
replacement of byte
the new
to one. Ending of execution invokes the store
then-OR-system-mask function of the expanded
virtual-machine assist if that assist is installed.
program interruption to be taken for a
privileged-operation exception (l.A. 4).
5. The second halfword of the instruction is
fetched. If an access condition is encountered,
execution of this function ends, and a program
interruption takes place for a privileged
operation exception
made with the
designated by the first-operand logical address,
execution of this function ends, and a program
interruption takes place for the access
exception found (1.B.2).
7. The old value of byte
stored at the first-operand logical address. The
updated virtual
zero as the new virtual
function ends with the completion of the
(2).
Figure 18 summarizes the fields used.
Name Block Type (Hex) Bytes
Figure 17. Fields Used in
22 Virtual-Machine Assist and Shadow-Table-Bypass Assist
 
             
            













































