Subfield 2: Type

The syntax for coding the type is shown in the subfield format operands in DC instruction.

You must specify the type subfield. From the type specification, the assembler determines how to interpret the constant and translate it into the correct format. The type is specified by a single-letter code as shown in Table 1, the type extension as shown in Table 1.

Further information about these constants is provided in the discussion of the constants themselves under Subfield 6: Nominal Value.

Table 1. Type codes for constants
Code Constant Type Machine Format
C Character 8 bit code for each character
G Graphic 16 bit code for each character
X Hexadecimal 4 bit code for each hexadecimal digit
B Binary Binary format
F Fixed-point Signed, fixed-point binary format; normally a fullword
H Fixed-point Signed, fixed-point binary format; normally a halfword
E Floating-point Short floating-point format; normally a fullword
D Floating-point Long floating-point format; normally a doubleword
L Floating-point Extended floating-point format; normally two doublewords
P Decimal Packed decimal format
Z Decimal Zoned decimal format
A Address Value of expression in fixed-point binary format; normally a fullword
Y Address Value of expression in fixed-point binary format; normally a halfword
S Address Base register and displacement value; a halfword
V Address Space reserved for external symbol addresses; normally a fullword
J Address Space reserved for length of class or DXD; normally a fullword
Q Address Space reserved for external dummy section offset
R Address Space reserved for PSECT addresses; normally a fullword
The type, with an optional type extension specification, indicates to the assembler:
  1. How to assemble the nominal values specified in subfield 6; that is, which binary representation or machine format the object code of the constant must have.
  2. At what boundary the assembler aligns the constant, if no length modifier is present.
  3. How much storage the constant occupies, according to the implicit length of the constant, if no explicit length modifier is present (for details, see Padding and truncation of values).