CEETERM provides a Language Environment-conforming
epilog and is used to terminate, or return from, a Language Environment-conforming
routine. If
used with a main entry, the appropriate call is made to Language Environment termination
routines.
Syntax
>>-name--CEETERM--+---------------------+----------------------->
'-RC=--return_code--,-'
>--+---------------------+--+-------------------------+--------><
'-MODIFIER=--modifier-' '-MF=--+-L--------------+-'
'-(E,--ctrl_addr-'
- name
- The entry name (and the CSECT name, if this is for a main entry).
- RC=
- The return code that is to be placed
into R15 after the MODIFIER is added to
it, if terminating a main routine. If returning from a Language Environment subroutine,
the return code itself is placed into R15, without MODIFIER being
added to it. return code can be a fixed
constant, variable, or register 2–12.
- MODIFIER=
- The return code modifier that is multiplied
by the appropriate value (based upon the operating system), added
to the return code, and placed into R15 (if terminating a main routine).
The MODIFIER is independently placed into R0. Modifier can be a fixed
constant, variable, or register 2-12.
- MF=L
- Indicates the list form of the macro. A remote control program
parameter list for the macro is defined, but the service is not invoked.
The list form of the macro is usually used in conjunction with the
execute form of macro.
- MF=(E, ctrl_addr)
- Indicates the execute form of the macro. The service is invoked
using the remote control program parameter list addressed by ctrl_addr (normally
defined by the list form of the macro, it cannot be register 0).
Usage notes: - The MF=L and the MF=(E, ctrl_addr) parameters
cannot both be coded for the same macro invocation. If neither is
coded, the immediate form of the macro is used. The immediate form
generates an inline parameter list, and generates nonreentrant code.
- The address of the name can be specified as a register using parentheses
().
- The macro invocation destroys the registers R1, R14, and R15.
- MF=L and MF=(E, ctrl_addr) can only be used when CEEENTRY MAIN=YES
has been specified. These parameters are not necessary when CEEENTRY
MAIN=NO has been specified; in that environment, CEETERM automatically
generates reentrant code.