This general macro transfers control to the specified operational
program. The current active program remains held by the entry control
block (ECB). The address of the next sequential instruction (NSI) in
the current program is saved for an expected return.
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 V-con resolved at link edit time into a Program Attribute 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.
- prog
- 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.
- The number of program nesting levels allowed is determined by a parameter
in keypoint record A, symbolic tag CK1PLV. Accordingly, this macro
cannot be used if the number of nesting levels is already at the
maximum.
Return Conditions
- Control is normally returned to the next sequential instruction
(NSI). Control returns to the requesting program in the addressing mode
in which it was operating prior to issuing the ENTRC macro.
- The contents of the operational program registers R0-R7 can be
changed. These registers have the same values they had when the BACKC
macro was issued to return control. Thus registers R0-R7 reflect any
modifications made by the specified program (or by other programs it
subsequently invokes).
- The contents of the scratch registers R14 and R15 are
unpredictable.
- The condition code is unpredictable.
Programming Considerations
- The ECB reference register (R9) must contain the address of the ECB being
processed before using this macro.
- This macro is used when a return is expected to the current
program. The ENTNC macro should be used where no return is
anticipated.
- ENTRC to FACE or FACS is a special type of enter and cannot be specified
with the PROGRAM parameter. Attempting to use the PROGRAM parameter
will result in a SNAP dump.
- Using the PROGRAM parameter sacrifices some performance. Its use
should be monitored.
- The specified program must have been allocated by the system allocator
(refer to TPF System Installation Support
Reference).
- The specified program receives control in its allocated addressing
mode. The operational program registers R0-R7 have the same value they
had when the ENTRC 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 ENTRC 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.