exception to be recognized, results are unpredicta
ble. Furthermore, it is unpredictable whether an
interruption for the access exception occurs. In the
case of ED and EDMK, this situation can occur also
because of overlapping operands.
This case is an exception to the general rule that
the operation is nullified on segment-translation and
page-translation exceptions and is suppressed on a
translation-specification exception and on an ad
dressing exception caused by an invalid address of a
table entry. When, in this case, an interruption for a
segment-translation or page-translation occurs, the
instruction address in the oldPSW points to the in
struction causing the exception even though partial
results have been stored.PTogranrumdng An access exception is indicated as part of the execu
tion of the instruction withwhich the exception is
associated. In particular, the exception is not recog
nized when theCPU has made an attempt to fetch
from the inaccessible location or otherwise has de
tected the access exception, but a branch instruction
or an interruption changes the instruction sequence
such that the instruction is not executed.
The following are some specific storage refer
ences where access exceptions, including store pro
tection when applicable, are recognized even if the
operation could be completed without the use of the
inaccessible part of the operand:• Fetching the operand of TEST UNDER MASK
with a zero mask.• Fetching parts of operands of algebraic compare
instructions (C and CH).• Fetching parts of operands of floating-point
instructions.• References to the first-operand location of deci
mal instructions when the second operand in
addition and subtraction is zero or in multipli
cation and division is one.• Storing the pattern character in an edit opera
tion when the pattern character remains un
changed.• Storing during SHIFT AND ROUND DECI
MAL when no shifting or rounding takes place.• Storing during move operations when the first
and second-operand locations coincide.• Storing the first operand of OR (01 and OC) when the corresponding second-operand byte
is zero, as well as the analogous cases for AND
and EXCLUSIVEOR. • Storing the first operand of TRANSLATE
when the argument and function bytes are the
same.
PageofGA22-7000-4 Revised September 1,1975
By TNL: GN22-0498
With a nonzero mask in INSERT CHARAC
TERS UNDER MASK,COMPARE LOGICAL CHARACTERS UNDER MASK, and STORE CHARACTERS UNDER MASK, access exceptions
are indicated only for the extent of the storage oper
and designated by the mask. InMOVE LONG or COMPARE LOGICAL LONG, no exceptions are
recognized for any operand having a length of zero.
Handling of Multiple
Program-Interruption Conditions
Except for program events, only one program
interruption condition is indicated with a program in -
terruption. The existence of one condition, however,
does not preclude the existence of other condi-
tions. When more than one program-interruption
condition exists, only the condition having the high
est priority is identified in the interruption code.
When two conditions exist of the same priority, it
is unpredictable which is indicated. In particular, the
priority of access exceptions associated with the two
parts of an operand that crosses a page or a protec
tion boundary is unpredictable and is not necessarily
related to the sequence specified for the access of
bytes within the operand.
The type of ending which occurs (nullification,
suppression, or termination) is that which is defined
for the type of exception that is indicated in the in
terruption code. However, if a condition is indicated
which permits termination, and another condition
also exists which would cause either nullification or
suppression, then the unit of operation is suppressed.
The table "Priorities of AccessExceptions" lists
the priorities of access exceptions for a single access.
The table "Priorities of Program Interruption Conditions" lists the priorities of all program-interruption
conditions other than program events. All exceptions
associated with references to storage for a particular
instruction halfword or a particular operand byte are
grouped as a single entry called"access." Thus, the
first table specifies which of several exceptions that
are encountered in the access of a particular portion
of an instruction, or in any particular access associat
ed with an operand, has highest priority, and the
latter table specifies the priority of this condition in
relation to other conditions detected in the opera
tion.
The relative priorities of any two conditions can
be found by comparing the priority numbers within a
table from left to right until a mismatch is found. If
the first inequality is between numeric characters,
the two conditions are either mutually exclusive, or,
if both can occur, the condition with the smaller
number is indicated. If the first inequality is between
alphabetic characters, the two conditions are not
Interruptions 83
ble. Furthermore, it is unpredictable whether an
interruption for the access exception occurs. In the
case of ED and EDMK, this situation can occur also
because of overlapping operands.
This case is an exception to the general rule that
the operation is nullified on segment-translation and
page-translation exceptions and is suppressed on a
translation-specification exception and on an ad
dressing exception caused by an invalid address of a
table entry. When, in this case, an interruption for a
segment-translation or page-translation occurs, the
instruction address in the old
struction causing the exception even though partial
results have been stored.
tion of the instruction with
associated. In particular, the exception is not recog
nized when the
from the inaccessible location or otherwise has de
tected the access exception, but a branch instruction
or an interruption changes the instruction sequence
such that the instruction is not executed.
The following are some specific storage refer
ences where access exceptions, including store pro
tection when applicable, are recognized even if the
operation could be completed without the use of the
inaccessible part of the operand:
with a zero mask.
instructions (C and CH).
instructions.
mal instructions when the second operand in
addition and subtraction is zero or in multipli
cation and division is one.
tion when the pattern character remains un
changed.
MAL when no shifting or rounding takes place.
and second-operand locations coincide.
is zero, as well as the analogous cases for AND
and EXCLUSIVE
when the argument and function bytes are the
same.
Page
By TNL: GN22-0498
With a nonzero mask in INSERT CHARAC
TERS UNDER MASK,
are indicated only for the extent of the storage oper
and designated by the mask. In
recognized for any operand having a length of zero.
Handling of Multiple
Program-Interruption Conditions
Except for program events, only one program
interruption condition is indicated with a program in -
terruption. The existence of one condition, however,
does not preclude the existence of other condi-
tions. When more than one program-interruption
condition exists, only the condition having the high
est priority is identified in the interruption code.
When two conditions exist of the same priority, it
is unpredictable which is indicated. In particular, the
priority of access exceptions associated with the two
parts of an operand that crosses a page or a protec
tion boundary is unpredictable and is not necessarily
related to the sequence specified for the access of
bytes within the operand.
The type of ending which occurs (nullification,
suppression, or termination) is that which is defined
for the type of exception that is indicated in the in
terruption code. However, if a condition is indicated
which permits termination, and another condition
also exists which would cause either nullification or
suppression, then the unit of operation is suppressed.
The table "Priorities of Access
the priorities of access exceptions for a single access.
The table "Priorities of Program Interruption Condi
conditions other than program events. All exceptions
associated with references to storage for a particular
instruction halfword or a particular operand byte are
grouped as a single entry called
first table specifies which of several exceptions that
are encountered in the access of a particular portion
of an instruction, or in any particular access associat
ed with an operand, has highest priority, and the
latter table specifies the priority of this condition in
relation to other conditions detected in the opera
tion.
The relative priorities of any two conditions can
be found by comparing the priority numbers within a
table from left to right until a mismatch is found. If
the first inequality is between numeric characters,
the two conditions are either mutually exclusive, or,
if both can occur, the condition with the smaller
number is indicated. If the first inequality is between
alphabetic characters, the two conditions are not
Interruptions 83