This general macro is used to convert a given CPUID (alpha) to its
corresponding processor ordinal number, or vice versa. This macro is
designed for use in a loosely coupled (LC) environment in which the Processor
ID Table has been generated. Given the symbolic address of a 1-byte
field containing the CPUID or the processor ordinal number, this macro will
return the associated processor ordinal number or CPUID.
Format
- label
- A symbolic name can be assigned to the macro statement.
- CPUID=address
- The symbolic address of a one-byte field containing CPUID to be
converted.
- PRORD=address
- The symbolic address of a one-byte field containing processor ordinal
number to be converted.
Entry Requirements
R9 must contain the address of the ECB being processed.
Return Conditions
- Control is returned to the next sequential instruction.
- Return code: R0 will contain:
0 = successful completion
4 = specified input is not in the PIDT table
- The contents of R14 is unpredictable.
- R15 will contain the requested PRORD (processor ordinal number) if the
CPUID parameter has been coded.
- R15 will contain the requested CPUID if PRORD has been coded.
- The contents of all other registers are preserved across this macro
call.
Programming Considerations
- This macro can be executed on any I-stream.
- The CCIDC macro is for use in an LC environment. The macro is coded
to function in a uniprocessor environment as well. In this environment,
the macro will return a PRORD of zero and will use the CE1CPD field to
establish the CPUID.
- Only one parameter should be coded. If both parameters are coded,
the CPUID parameter will be used.
Examples
None.