EXTRACT option of PCLINK

PCLINK EXTRACT modifies registers 0, 1, 14, and 15. If ALL=YES is specified, registers 13-4 are also modified.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Supervisor state or PSW key 0 or PKM key 0
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit
ASC mode: Primary
Interrupt status: Enabled or disabled for I/O and external interrupts
Locks: The caller may hold locks, but is not required to hold any.
Control parameters: Must be in primary address space

Programming requirements

Your program must have addressability to the address space from which PCLINK STACK was issued for the current stack element.

Restrictions

None.

Input register information

Before issuing the EXTRACT option of the PCLINK 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.

Performance implications

None.

Syntax

The EXTRACT option of the PCLINK macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede PCLINK.
   
PCLINK  
   
One or more blanks must follow PCLINK.
   
EXTRACT  
   
,TOKEN=(reg) reg: Register (0) - (15).
   
,ALL=YES  
   
,SVAREA=(reg)  
   
,RETADR=(reg)  
   

,PARM15=(reg)
,PARM0=(reg)
,PARM1=(reg)

 
   
,KEY=(reg)  
   
,ASID=(reg)  
   
,LP=(reg)  
   
,ENTRY=(reg)  
   
   ,RELATED=value value: Any valid macro keyword specification.
   

Parameters

The parameters are explained as follows:

EXTRACT
Retrieves information from the saved environment.
,TOKEN=(reg)
Specifies a register that contains a 32-bit stack token identifying the most recently stacked element.
,ALL=YES
Specifies that all information stored in the stack element identified by the token is to be extracted. The stored information is placed into the same registers (registers 13, 15, and 0-4) it was in when PCLINK STACK was issued. Registers 5 and 14 are not restored.
,SVAREA=(reg)
Specifies a register into which the address of the program call issuer's save area is to be placed.
,RETADR=(reg)
Specifies a register into which the AMODE (in which control is to be returned), the return address, and PSW problem state bit are to be placed. These occupy bits 0,1-30, and 31, respectively.
,PARM15=(reg)
,PARM1=(reg)
,PARM0=(reg)
Specifies a register into which the contents of register 15 (PARM15), register 1 (PARM1), or register 0 (PARM0) at the time PCLINK STACK was issued are to be placed.
,KEY=(reg)
Specifies a register into which the basic PC issuer's PSW key is to be placed. The key occupies bit positions 24-27.
,ASID=(reg)
Specifies a register into which the basic PC issuer's PSW key mask (bits 0-15) and ASID (bits 16-32) are to be placed.
,LP=(reg)
Specifies a register into which the latent parameter list address is to be placed.
,ENTRY=(reg)
Specifies a register into which the contents of register 5 as established by the PCLINK STACK macro are to be placed. Bit 0 of the register used by the ENTRY parameter specifies the addressing mode of the program call routine that issued the PCLINK macro.
,RELATED=value
Specifies information used to self-document macros by “relating” functions or services to corresponding services performed elsewhere. The format and contents of the information specified can be any valid coding values.

ABEND codes

052
053

See z/OS MVS System Codes for an explanation and programmer responses for this code.

Return and reason codes

None.