This general macro creates an independent entry control block (ECB) for
immediate processing by the requested program. 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-104) is passed to the created ECB work
area. The control program moves this data into an interim block of
available storage and adds this block to the Ready List. Operational
Program Zero (OPZERO) will initialize an ECB with the data in the work area,
release the interim block, and execute an Enter with No Return (ENTNC) to the
specified program.
Format
- label
- A symbolic name can be assigned to the macro statement.
- prog
- The name of the program that is to be activated with the created
ECB. This method generates a V-con which is resolved at link edit time
into a Program Allocation Table (PAT) displacement. This is the
preferred method for specifying the program name.
- PROGRAM
- The name of the program can alternately be provided via the PROGRAM
parameter. This method generates constant data which will be used at
execution time to determine the Program Allocation Table (PAT)
displacement. This method has a longer path length than the one
described above.
- prog
- The name of the program that is to be activated with the created
ECB.
- (Rx)
- A register (R0-R7) that contains the address of the program
name.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- R14 must contain the number of bytes of data to be passed to the created
ECB work area.
- R15 must contain the address of the start of the data which is to be
passed.
Return Conditions
- Control is returned to the instruction following the macro
expansion.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
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 CREMC macro.
- No linkage is provided between the created ECB and the active segment
using this macro.
- There may be up to 104 bytes of data passed to the created ECB's work
area.
- The ECB issuing the CREMC macro may be forced into a WAITC if there is
insufficient storage available to buffer the parameters. When adequate
storage is available, the CREMC macro is executed and control is returned to
the next sequential instruction (NSI).
- The use of this macro should be limited to prevent depletion of
storage.
- Using the PROGRAM parameter sacrifices some performance. Its use
should be monitored.
- The program to be activated must have been allocated via the system
allocator (refer to TPF System Installation Support
Reference).
- When activated, the specified program receives control in its allocated
addressing mode. The condition code and the contents of registers
R0-R7, R14, and R15 are unpredictable.
- In addition to the normal macro trace information the macro trace for this
macro contains the name of the macro being returned to.
Examples
None.