z/OS MVS Programming: Assembler Services Reference ABE-HSP
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SET option

z/OS MVS Programming: Assembler Services Reference ABE-HSP
SA23-1369-00

Input register information

Before issuing the SET option of the ESPIE 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 information

When control returns to the caller, the general purpose registers (GPRs) contain the following information:
Register
Contents
0
Used as a work register by the system
1
Token representing the previously active SPIE/ESPIE environment
2-13
Unchanged
14
Used as a work register by the system
15
Return code of 0
When control returns to the caller, the access registers (ARs) contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

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.

Syntax

The standard form of the ESPIE macro with the SET option is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede ESPIE.
   
ESPIE  
   
One or more blanks must follow ESPIE.
   
SET  
   
,exit addr exit addr: A-type address, or register (2) - (12).
   
,(interruptions) interruptions: Decimal digits 1-15 and expressed as:
 

single values:  (2, 3, 4, 7, 8, 9, 10)
ranges of values:  ((2, 4), (7, 10))
combinations:  (2, 3, 4, (7, 10))

   
   ,PARAM=list addr list addr: A-type address or register (2) - (12).
   ,PKM=SYSTEM_RULES Default: PKM=SYSTEM_RULES
   ,PKM=TOS  
   

Parameters

The parameters are explained as follows:

SET
Indicates that an ESPIE environment is to be established.
,exit addr
Specifies the address of the exit routine to be given control when program interruptions of the type specified by interruptions occur. The exit routine will receive control in the same addressing mode as the issuer of the ESPIE macro.
,(interruptions)
Indicates the interruption types that are being trapped. The interruption types are:
Number
Interruption Type
1
Operation
2
Privileged operation
3
Execute
4
Protection
5
Addressing
6
Specification
7
Data
8
Fixed-point overflow (maskable)
9
Fixed-point divide
10
Decimal overflow (maskable)
11
Decimal divide
12
Exponent overflow
13
Exponent underflow (maskable)
14
Significance (maskable)
15
Floating-point divide

These interruption types can be designated as one or more single numbers, as one or more pairs of numbers (designating ranges of values), or as any combination of the two forms. For example, (4,8) indicates interruption types 4 and 8; ((4,8)) indicates interruption types 4 through 8.

If a program interruption type is maskable, the corresponding program mask bit in the PSW is set to 1. If a maskable interruption is not specified, the corresponding bit in the PSW is set to 0. Interruption types not specified above are handled by the system. The system forces an abnormal end with the program check as the completion code. If an ESTAE-type recovery routine is also active, the SDWA indicates a system-forced abnormal end. The registers at the time of the error are those of the system.

Note: For both ESPIE and SPIE - If you are using vector instructions and an exception of 8, 12, 13, 14, or 15 occurs, your recovery routine can check the exception extension code (the first byte of the two-byte interruption code in the EPIE or PIE) to determine whether the exception was a vector or scalar type of exception.
,PARAM=list addr
Specifies the fullword address of a parameter list that is to be passed by the caller to the exit routine.
,PKM=SYSTEM_RULES
,PKM=TOS
SYSTEM_RULES specifies that the system should determine the appropriate PSW key mask for the ESPIE exit and resume point. TOS specifies that the Time Of Set PKM should be propagated to the ESPIE exit and resume point.

Return and reason codes

None.

Example

Give control to an exit routine for interruption types 1 and 4. EXIT is the location of the exit routine to be given control and PARMLIST is the location of the user parameter list to be used by the exit routine.
ESPIE SET,EXIT,(1,4),PARAM=PARMLIST

ESPIE—List form

Use the list form of the ESPIE macro together with the execute form of the macro for applications that require reentrant code. The list form of the macro defines an area of storage, which the execute form of the macro uses to store the parameters. The list form of ESPIE is valid only for ESPIE SET.

Syntax

The list form of the ESPIE macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede ESPIE.
   
ESPIE  
   
One or more blanks must follow ESPIE.
   
SET  
   
   ,exit addr exit addr: A-type address.

Note: This parameter must be specified on either the list or the execute form of the macro.

   
   ,(interruptions) interruptions: Decimal digit 1-15 and expressed as:
 

single values:  (2, 3, 4, 7, 8, 9, 10)
range of values:  ((2, 4), (7, 10))
combinations:  (2, 3, 4, (7, 10))

   
   ,PARAM=list addr list addr: A-type address.
   
,MF=L  
   

Parameters

The parameters are explained under the standard form of ESPIE SET with the following exception:

,MF=L
Specifies the list form of the ESPIE macro.

Example

Build a nonexecutable problem program parameter list that will transfer control to the exit routine, EXIT, for the interruption types specified in the execute form of the macro. Provide the address of the user parameter list, PARMLIST.
LIST1 ESPIE SET,EXIT,,PARAM=PARMLIST,MF=L

ESPIE—Execute form

Use the execute form of the ESPIE macro together with the list form of the macro for applications that require reentrant code. The execute form of the macro stores the parameters into the storage area defined by the list form. The execute form of ESPIE is valid only for ESPIE SET.

Syntax

The execute form of the ESPIE macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede ESPIE.
   
ESPIE  
   
One or more blanks must follow ESPIE.
   
SET  
   
   ,exit addr exit addr: RX-type address or register (2) - (12).

Note: This parameter must be specified on either the list or the execute form of the macro.

   
   ,(interruptions) interruptions: Decimal digit 1-15 and expressed as:
 

single values:  (2, 3, 4, 7, 8, 9, 10)
range of values:  ((2, 4), (7, 10))
combinations:  (2, 3, 4, (7, 10))

   
   ,PARAM=list addr list addr: RX-type address or register (2) - (12).
   
,MF=(E,ctrl addr) ctrl addr: RX-type address, or register (1), (2) - (12).
   
   ,PKM=SYSTEM_RULES Default: PKM=SYSTEM_RULES
   ,PKM=TOS  
   

Parameters

The parameters are explained under the standard form of the ESPIE macro with the following exception:

,MF=(E,ctrl addr)
Specifies the execute form of the ESPIE macro.

Example

Give control to an installation exit routine for interruption types 1, 4, 6, 7, and 8. The exit routine address and the address of a user parameter list for the exit routine are provided in a remote control program parameter list at LIST1.
ESPIE SET,,(1,4,(6,8)),MF=(E,LIST1)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014