Use this system macro to establish the location specified by the EP
parameter as the routine to receive control when a program check
occurs. On a program check, the general registers and system state at
the time the macro was issued are restored and control is passed to the
specified location.
Required Authorizations
|
Key0
| Restricted
| System
| Common Storage
|
| X
|
|
|
Format
- EP=address|RESET
- A symbolic label specifying the entry point of the routine to receive
control if a program check occurs. This label must be directly
addressable.
If RESET is specified the protection set via a previous $RECVC is turned
off.
Entry Requirements
- The program must be masked for I/O and external interrupts.
- For E-type calls the program must be executing in 31-bit mode. If
the program is not in 31-bit mode, authorization to use $RECVC will be refused
and a program check will occur.
Return Conditions
- For E-type calls the contents of R10 and R13 are unpredictable; all
other registers are restored. For C-type calls all registers are saved
and restored.
Programming Considerations
- This macro is to be used with extreme care. The window between the
macro call and the possible program check should be as small as
possible. Indiscriminate use of this macro may result in catastrophic
system failure.
- To eliminate the possibility of trapping unexpected errors, the calling
program must be masked for I/O and External interrupts. The program
must not give up control once protection is set.
- The use of this macro is restricted to system use only.
- The macro uses a monitor call (MC) to access its service routine.
- Program check protection is automatically reset when a program check
occurs.
- A distinct pair of $RECVC calls must be coded for each program check
expected. Only one call specifying a label is permitted prior to a
program check or RESET call. Subsequent invocations of $RECVC will
result in a SNAP dump, and the current process will be exited. See Messages (System Error and Offline) for more
information.
- Protection must be reset before exiting an ECB.
- Use of this macro removes the need for the program to modify the program
new PSW.
Examples
This sample is from CSPM while servicing a SNAPC request.
$RECVC EP=SNAPPCHK
·
·
·
$RECVC RESET
·
·
·
SNAPPCHK DS 0H