This general macro transfers control to the specified operational program
and releases all program records held by the entry control block (ECB).
Format
- label
- A symbolic name can be assigned to the macro statement.
- prog
- The name of the program that is to be entered. This method
generates a VCON 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 using the PROGRAM
parameter. This method generates constant data which will be used at
execution time to determine the PAT displacement. This method has a
longer path length than the one described above.
- 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
R9 must contain the address of the ECB being processed.
Return Conditions
Control is never returned to a program that issues the ENTDC macro.
Programming Considerations
- This macro can be executed on any I-stream.
- The ECB reference register (R9) must contain the address of the ECB being
processed before using this macro.
- Using the PROGRAM parameter sacrifices some performance.
- Enter is a system critical path. Adding even 1 instruction to this
path causes a measurable performance degradation. Using the PROGRAM
parameter adds at least 9 instructions to the enter path. (The enter
path is even longer if a HASH chain needs to be processed.) If all
ENTxCs were coded with the PROGRAM parameter, the performance could be reduced
5-8%. Monitor its use.
- A program that issues the ENTDC macro causes all programs assigned to the
ECB to be released. All program levels are made available and the first
program level is used for the specified program.
- An ENTDC macro must not be issued between the executions of an ENTRC macro
and a BACKC macro. If this sequence occurs, control is transferred to
the system error routine.
- The specified program must have been allocated by the system allocator
(see TPF System Installation Support Reference) or
have been loaded online before the Enter was run. If not, a system
error results.
- The specified program receives control in its allocated addressing
mode. The operational program registers R0-R7 have the same value they
had when the ENTDC macro was issued. The condition code and the
contents of the scratch registers R14 and R15 are unpredictable.
- Users of the ALASC macro should note the programming considerations in the
ALASC specifications relative to the ENTDC macro.
- 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.