You can pass control to the batch loader from a program using the
LINK, ATTACH, LOAD, CALL, and XCTL macros using either 24-bit or 31-bit
addressing. You must supply a save area address in register 13.
The batch loader can be invoked at three different entry points
to perform the following services:
- HEWLDIA
- Link-edits a load module, loads it into virtual storage, and executes
it.
- HEWLDI
- Link-edits a load module, loads it into virtual storage, and identifies
it. HEWLDI returns the address of an 8-character module name in register
1. This name can be used to invoke the loaded program using a LINK
or ATTACH macro.
- HEWLD
- Link-edits a load module and loads it into virtual storage, but
does not identify it. HEWLD returns the entry point of the loaded
module in register 0 (the high order bit is on for AMODE). Register
1 points to two fullwords. The first points to the beginning of storage
occupied by the loaded program, and the second contains the length
of the loaded program.
The ATTACH, LINK, LOAD, and XCTL macros are described in z/OS MVS Programming: Assembler Services Guide.
The use of these macros is identical to usage for the binder, with
the exception of the ddname list passed as a parameter on LINK, ATTACH,
CALL, and XCTL calls.
The sequence of the 8-byte entries in the ddname list for the batch loader is as follows:
- Entry
- Alternate Name For:
- 1
- SYSLIN
- 2
- Not applicable
- 3
- Not applicable
- 4
- SYSLIB
- 5
- Not applicable
- 6
- SYSLOUT
- 7-11
- Not applicable
- 12
- SYSTERM
Note: - The batch loader does not support all data sets allocated in the
extended addressing space (EAS) of an extended address volume (EAV).
- The batch loader does not support the following dynamic allocation
(DYNALLOC or SVC 99) options for any data sets: S99TIOEX(XTIOT), S99ACUCB(NOCAPTURE),
and S99DSABA(DSAB above the line).
The batch loader generates a return code when it completes its
execution and returns it in register 15. See Batch loader return codes for
more information on batch loader return codes.