Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Description z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO SA23-1375-00 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
Note: IBM® recommends that you use the ESPIE macro rather
than SPIE. Callers in 31-bit addressing mode must use the ESPIE macro,
which performs the same function as the SPIE macro for callers in
both 24-bit and 31-bit addressing mode.
The SPIE macro specifies the address of an interruption exit routine and the program interruption types that are to cause the exit routine to get control. Note: In MVS/370 the SPIE environment existed for the life of the
task. In later versions of MVS™, the SPIE environment is deleted
when the request block that created it is deleted. That is, when
a program running under a later version of MVS completes,
any SPIE environments created by the program are deleted. This might
create an incompatibility with MVS/SP Version
1 for programs that depend on the SPIE environment remaining in effect
for the life of the task rather than the request block.
Each succeeding SPIE macro invocation completely overrides any previous SPIE macro specifications for the task. The specified exit routine is given control in the key of the TCB when one of the specified program interruptions occurs in any problem program of the task. When a SPIE exit routine issues the SPIE macro, the system resets (zeros) the program interruption element (PIE). Thus, a SPIE exit routine should save any required PIE data before issuing a SPIE. If a caller issues an ESPIE macro from within a SPIE exit routine, it has no effect on the contents of the PIE. However, if an ESPIE macro deletes the last SPIE/ESPIE environment, the PIE is freed and the SPIE exit cannot retry. If the current SPIE environment is canceled during SPIE exit routine processing, the control program will not return to the interrupted program when the SPIE program terminates. Therefore, if the SPIE exit routine wishes to retry within the interrupted program, a SPIE cancel should not be issued within the SPIE exit routine. The SPIE macro can be issued by any problem program being executed in the performance of the task. The control program automatically deletes the SPIE exit routine when the request block (RB) that issued the SPIE macro terminates. A PICA (program interruption control area) is created as part of the expansion of SPIE. The PICA contains the exit routine's address and a code indicating the interruption types specified in SPIE. For more information on the SPIE macro, see the information on program interruption services in z/OS MVS Programming: Assembler Services Guide and z/OS MVS Programming: Authorized Assembler Services Guide. The following description of the SPIE macro also appears in z/OS MVS Programming: Assembler Services Reference ABE-HSP, with the exception of interruption type 17. This interruption type designates page faults and its use is restricted to an authorized program. EnvironmentThe requirements for the caller are:
Programming requirementsThe caller must include the following mapping macros:
RestrictionsNone. Input register informationBefore issuing the SPIE macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register. Output register informationWhen control returns to the caller, the general purpose registers
(GPRs) contain the following information:
When control returns to the caller, the access registers (ARs)
contain:
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control. Performance implicationsNone. SyntaxThe standard form of the SPIE macro is written as follows:
ParametersThe parameters are explained as follows:
ABEND codesThe SPIE macro might return the following abend codes:
See z/OS MVS System Codes for explanations and programmer responses. Return and reason codesNone. ExampleGive control to an exit routine for interruption 17. DOITSPIE is
the address of the SPIE exit routine.
|
Copyright IBM Corporation 1990, 2014
|