This general macro creates an independent ECB for deferred
processing. The ECB is created on the same I-stream, in the same
subsystem, and subsystem user as the creating ECB.
A variable number of bytes (0 to 104) is passed to the created ECB work
area. The control program moves the parameters into an interim block of
available storage and adds this block to the deferred processing CPU loop
list. Operational Program Zero (OPZERO) initializes an ECB with the
parameters in the work area, releases the interim block, and executes an Enter
with no return (ENTNC) to the specified program.
Format
- label
- A symbolic name can be assigned to the macro statement.
- program_name
- The symbolic program name of the program that is to be activated with the
created ECB must be specified. Either this positional parameter or the
following keyword parameter can be used.
- PROGRAM
- The symbolic program name or a register containing the address of the
program that is to be activated with the created ECB must be specified.
This method generates constant data which used at execution time to determine
the PAT displacement. This method has a slightly longer path length
than the positional parameter method.
- program_name
- The name of the program that is to be entered.
- (Rx)
- A register (R0-R7) that contains the address of the program
name.
Entry Requirements
- R14 must contain the number of bytes of parameters to be passed to the
created ECB work area.
- R15 must contain the address of the start of the parameters which are to
be passed.
Return Conditions
- Control is returned to the instruction following the macro
expansion.
- The contents of R14 and R15 and the condition code are unknown. The
remaining operational program registers are saved during the execution of the
CREDC macro.
Programming Considerations
- This macro can be executed on any I-stream.
- The ECB reference register (R9) must contain the address of the ECB
issuing the CREDC macro.
- No linkage is provided between the created ECB and the active program
segment using this macro.
- Up to 104 bytes of parameters can be passed to the created ECB.
- The ECB issuing the CREDC macro may be forced into a WAIT if there is
insufficient storage available to buffer the parameters. When adequate
working storage is available, the CREDC macro is executed and a return is made
to the instruction after the macro expansion.
- Limit use of this macro to prevent storage depletion.
- The program (indicated by program_name) must either be allocated
in the PAT or be loaded online prior to execution. If the program is
not either allocated or loaded, a system error results. See the TPF System Installation Support Reference for information
on allocating programs and on the E-type loader.
- The macro trace for this macro contains the name of the macro that called
it as well as the normal trace data.
Examples
None.