The ACQUIRE_PROGRAM call
ACQUIRE_PROGRAM returns the entry and load point addresses, the length, and
a new program token for a usable copy of the named program, which can be
identified by either its name or a program token.
ACQUIRE_PROGRAM
DFHLDLDX [CALL,]
[CLEAR,]
[IN,
FUNCTION(ACQUIRE_PROGRAM),
{PROGRAM_NAME(name8 | string | 'string')|
PROGRAM_TOKEN(name4)},
[SUSPEND(NO|YES),]]
[OUT,
ENTRY_POINT(name4 | (Ra)),
[LOAD_POINT(name4 | (Ra)),]
[NEW_PROGRAM_TOKEN(name4),]
[PROGRAM_ATTRIBUTE(name1 | (Rn)),]
[PROGRAM_LENGTH(name4 | (Rn)),]
RESPONSE(name1 | *),
REASON(name1 | *)]
ENTRY_POINT(name4 | (Ra))
returns the program’s entry point address.
name4 The name of a 4-byte location to receive the 31-bit entry address
(Ra) A register to receive the entry address.
LOAD_POINT(name4 | (Ra))
returns the program’s load point address.
name4 The name of a 4-byte location to receive the loaded address
(Ra) A register that is to contain the load address.
NEW_PROGRAM_TOKEN(name4)
returns the new program token for a usable copy of the named program.
name4 The name of a location to receive a 4-byte token that identifies this
program and instance.
PROGRAM_ATTRIBUTE(name1 | (Rn))
returns the program attribute.
name1 The name of a 1-byte location to receive the program attribute.
(Rn) A register in which the low-order byte receives the program attribute
and the other bytes are set to zero. It can have the values RELOAD,
RESIDENT,REUSABLE, or TRANSIENT.
RELOAD
The program is not reusable, and therefore several copies of
the program may be loaded. Acopy is removed from storage
when a RELEASE_PROGRAM call (for that copy) is issued.
RESIDENT
There is a single copy of the program that is not removed from
loader functions
Chapter3. The user exit programming interface (XPI) 325