Subfield 4: Program type
The syntax for coding the program type is shown in the subfield
format operands
in DC instruction.
You can omit the program type subfield. If specified, the assembler assigns the value to the symbol naming the DC instruction, if a symbol was present. It can be specified as a decimal, character, hex, or binary self-defining term and is stored as a 32 bit value. The value is not used in any way by the assembler, and can be queried by using the SYSATTRP built-in function.
The program type is specified within a P prefixed set of parenthesis
- P(). For example:
Prog1 DC CP(7)'Perth' Program type is 7
Prog2 DC 3XP(C'APC')'FF' Program type is C'APC'
All expressions in program type must be evaluatable when the DC is processed.
If program type is omitted, the assembler assigns a null to the program type, and querying the value using the SYSATTRP built-in function returns a null value.
If there are multiple operands and the first has no P-type, but
one of the subsequent operands does have a P-type, then the program
type is assigned from the first operand
specifying a program type value. For example:
alabel dc f'1',hp(33)'32760'
results
in a program type of 33 being assigned to alabel
.