Use this system macro to find information about the following from the
program prolog area-1 (PPA1):
- Address of the PPA1
- Address of the PPA1 field that contains the function name
- Length of the function name
- Address of the timestamp block
- Address of the PPA2
- Address of the PPA3.
Format
- label
- A symbolic name assigned to the macro statement.
- FUNC=Rx
- This input parameter register, other than register 0, contains the address
of an ISO-C function.
On output, this register contains one of the following:
- The address of the PPA1
- Zeroes when the contents of the PPA1 are not valid.
- Note:
- The address of a valid PPA1 is returned for both the Language Environment and
for the non-Language Environment. For the Language Environment, the
Language Environment routine layout entry is used to find the address of the
valid Language Environment PPA1.
- NAME=Ry
- This output parameter register, other than register 0, contains one of the
following:
- The address of the first character of the function name
- Zeroes when the function name does not exist or when the contents of the
PPA1 are not valid.
- LENGTH=Rz
- This output parameter register, other than register 0, contains one of the
following:
- The length of the function name
- Zeroes when the function name does not exist or when the contents of the
PPA1 are not valid.
- TSTAMP=Ru
- This optional output parameter register, other than register 0, contains
one of the following:
- The address of the timestamp block
- Zeroes when the timestamp block is not available or when the contents of
the PPA1 or the PPA2 are not valid.
- PPA2=Rv
- This optional output parameter register, other than register 0, contains
one of the following:
- The address of the PPA2 (Compile Unit Block)
- Zeroes when the PPA2 is not available or the PPA1 is not valid.
- PPA3=Rv
- This optional output parameter register, other than register 0, contains
one of the following:
- The address of the PPA3 (Debug Unit Block)
- Zeroes when the PPA3 is not available or the PPA1 is not valid.
Entry Requirements
The GNAMC macro does not support the TARGET(TPF) compiler.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- All registers are preserved across this macro call with the exception of
the registers specified on the parameters.
Programming Considerations
- The FUNC parameter register must point to a valid ISO-C function, for
example:
- A valid Language Environment routine layout entry
- A valid PPA1 area in a non-Language Environment.
- If a valid PPA1 is not found, zeroes are returned in the:
- FUNC parameter register
- NAME parameter register
- LENGTH parameter register
- TSTAMP parameter register if specified
- PPA2 parameter register if specified
- PPA3 parameter register if specified.
- If a function name does not exist in the PPA1, zeroes are returned in
the:
- NAME parameter register
- LENGTH parameter register.
Examples
- In this example, register 15 contains the address of an ISO-C
function. This address is the address of a Language Environment routine
entry layout.
GNAMC FUNC=R15,NAME=R4,LENGTH=R6
This invocation returns the following:
- The address of the PPA1 in register 15.
- The address of the first character of the function name in register
4.
- The length of the function name in register 6.
- In this example, register 15 contains the address of an ISO-C
function. This address is the address of a non-Language Environment
PPA1 area.
GNAMC FUNC=R15,NAME=R2,LENGTH=R7,TSTAMP=R4,PPA2=R5,PPA3=R6
This invocation returns the following:
- The address of the PPA1 in register 15.
- The address of the function name in register 2.
- The length of the function name in register 7.
- The address of the timestamp area in register 4.
- The address of the PPA2 in register 5.
- The address of the PPA3 in register 6.