gtpg2m0aGeneral Macros

Executive Macros

The executive macros are divided into two general groups: control program macros and application macros. All executive macro names consist of 5 alpha characters. The last letter of the macro name distinguishes between control program macros (C) and application macros (A). A few application macro names violate this general rule.

Control program macros are used to provide a linkage to the system service routines. Generally, this implies the generation of a supervisor call (SVC) instruction and parameters that specify the desired service. The macro decoder routine of the control program, in the case of an SVC, selects the appropriate control program routine to perform the service. In some instances, the linkage is done with branch and link instructions to improve the performance of executing frequently used functions.

Application macros can generate a sequence of machine instructions. A control program macro generally generates only enough code to link to the desired service routine. An application macro can generate data or indirectly generate linkage code through the use of a control program macro.

If an application macro definition uses a control program macro, a linkage will, of course, be generated for the system service routines. The distinction is:

Some of the application macros are specifically designed for the offline programs. Another subset is specifically designed for building structured programs.

The format of the executive (control program and application program) macro instruction used in source code is as follows:

Label
An optional symbolic label that can be assigned to the macro instruction

Name
The symbolic macro instruction name

Symbols
Macro parameters, depending on the specific macro used.

There are 3 major macro instruction operand (parameter) formats.

Positional
The macro instruction operands must be written in a fixed order. We assume that they precede any keyword parameters unless otherwise noted.

Keyword
The macro instruction operands can be written in any order and are keyed to a specific character set (for example, TEST, PARAMETER).

Mixed Mode
The macro instruction operands are a combination of both positional and keyword operands. That is, certain operands (positional) must be written in a fixed order; other operands (keyword) can be specified in any order.