LXFRE
These are the requirements for the caller:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Supervisor state or PKM 0-7 |
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 for I/O and external interrupts |
Locks: | No locks held |
Control parameters: | Must be in primary address space |
Register 13 must point to a standard register savearea that must be addressable in primary mode.
None.
After the caller issues the macro, the macro might use some registers as work registers or might change the contents of some registers. When the macro returns control to the caller, the contents of these registers are not the same as they were before the macro was issued. Therefore, if the caller depends on these registers containing the same value before and after issuing the macro, the caller must save these registers before issuing the macro and restore them after the system returns control.
None.
The standard form of the LXRES macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede LXRES. |
LXRES | |
␢ | One or more blanks must follow LXRES. |
LXLIST=lx list addr | lx list addr: RX-type address or register (2) - (12). |
ELXLIST=elx list addr | elx list addr: RX-type address or register (2) - (12). |
,LXSIZE=12 | Default: LXSIZE=12 when you do not specify EXLIST or REUSABLE=YES; LXSIZE=16 when you specify ELXLIST or REUSABLE=YES. |
,LXSIZE=16 | |
,LXSIZE=23 | |
,LXSIZE=24 | |
,REUSABLE=NO | Default: REUSABLE=NO |
,REUSABLE=YES | |
,SYSTEM=NO | Default: SYSTEM=NO |
,SYSTEM=YES | |
,RELATED=value | value: Any valid macro keyword specification. |
The parameters are explained as follows:
elx list addr specifies the address of an area that contains extended linkage index (LX) values. The first fullword in the list must contain the number (1 to 32) of extended linkage index (LX) values to be returned. Each extended LX value is an eight-byte area that contains a 4-byte sequence number followed by a 4-byte LX value. The area must be long enough to contain the requested number of values. The LX value within the extended LX value is in the proper position for ORing with the entry index to form a PC number. The sequence number in each extended LX value is relevant only when you have specified REUSABLE=YES. You can specify ELXLIST even if the LX Reuse Facility is not enabled.
LXSIZE=12 is the default when you do not specify REUSABLE=YES and you do not specify ELXLIST. If you specify LXSIZE=12 along with EXLIST or REUSABLE=YES, the system ignores LXSIZE=12 and uses LXSIZE=16 instead. You can use the LXLIST parameter for the returned data regardless of the LXSIZE value, unless you also specify REUSABLE=YES.
LXSIZE=16 is the default when you have specified either the ELXLIST or REUSABLE parameter.
If the LX Reuse Facility is not enabled, a non-reusable LX will be returned.
052
053
See z/OS MVS System Codes for an explanation and programmer responses for this code.
When the LXRES macro returns control to your program, GPR 15 contains a hexadecimal return code.
Return Code | Meaning |
---|---|
00 | Meaning: The specified linkage indexes were successfully reserved. |
For examples of the use of this and other cross memory macros, refer to the chapter on cross memory communication in z/OS MVS Programming: Extended Addressability Guide.