Previous Topic: The $J6ENTRY MacroNext Topic: The $J6EXIT Macro


The $J6ESTG Macro

Use this macro to obtain storage above-the-line. Use only the GET service.

Example:

$J6ESTG 	GET,CBID=id,CBLEN=value/(reg),-,CBLIFE=STEP,CB24BIT=NO,CBPADCHR=00-

The invocation in this example returns a 31-bit address in register 1 pointing to an area of extended storage of len bytes. This area is prefixed by a STIP (Storage Identification Prefix), which contains the four-character eyesight of ID and contain control information for future storage management, such as when the area is marked as reusable. In this case, the storage area has a life of one STEP. Optionally, the area is padded with x'00' (low-values).

GET

$J6ESTG is a service request macro.

The only valid service request for users is GET.

CBID=

Required parameter for GET service.

Specify an expression that resolves to the number of bytes-of-storage to obtain above-the-line.

CBLEN=

Defines the length of storage to obtain.

If you specify a register as CBLEN=(R2), you must use the MF=E form of the macro and provide for a map of the parameter area by adding a '$J6ESTG MF=L' statement in the working storage area as pointed to by the WA parameter of the $JCLENT macro.

CBLIFE=-TASK|JOB|PROC|STEP|STMT|-

Optional parameter specifying the life of the area to obtain.

Marks the storage area as reusable as soon as the next life occurs. (For example, if you obtain storage for JOB life, it is available for your use until processing begins on the next JOB, if any, STMT life is the default.)

CB24BIT=-Yes|No-

CB24BIT=YES obtains area below-the-line (24-bit addressable).

CBPADCHR=[xx|]

CBPADCHR=hexadecimal value fills obtained storage.

CBPADCHR=4B fills the entire area (from R1 for CBLEN) with the character '4B.' Default is no padding.