| Field | Size | Description |
|---|---|---|
| ESDID | FL4 | The ESDID for the source record. |
| Type Flag | XL1 |
|
| XL5 | Reserved | |
| Statement Number | FL4 | The statement number of the source line that generated this text, if known. Otherwise it contains zeros. |
| Number of operands | FL4 | The number of operands defined by the source record.
The groups of nine operand fields below occur n times depending on the value in this field. |
| Offset of operands | FL4 | The offset from the beginning of this record to the first group of operand fields. A value of binary zeros indicates that there are no operands. |
| Start of operand group, one group per operand.
The ellipses (...) indicate the fields are grouped. |
||
| ...Offset of next
operand |
FL4 | The offset from the beginning of this record to the next group of operand fields. A value of binary zeros indicates that there are no more operands. |
| ...Location Counter | FL4 | The location counter for this operand. |
| ...Duplication Factor | FL4 | The duplication factor for this operand. |
| ...Bit Offset | XL1 | The offset within byte (0-7) for bit-length operands. |
| ...Type Attribute | XL1 | The value that the assembler Type Attribute reference returns (see "Type attribute (T')" in the HLASM Language Reference). |
| ...Type Extension | CL1 | The type extension for this operand. |
| ...Program Type | XL4 | The value that the assembler SYSATTRP() internal function returns (see "SYSATTRP" in the HLASM Language Reference). |
| XL4 | Reserved | |
| ...Number of values | FL4 | The number of nominal values defined by this operand.
The groups of five nominal-value fields below occur n times depending on the value in this field. |
| ...Offset of values | FL4 | The offset from the beginning of this record to the first group of nominal-value fields. A value of binary zeros indicates that there are no nominal values. |
| End of operand group. | ||
| Start of nominal-value group, one group per value.
The ellipses (......) indicate the fields are grouped. |
||
| ......Offset of next
nominal value |
FL4 | The offset from the beginning of this record to the next group of nominal-value fields. A value of binary zeros indicates that there are no more nominal values. |
| ......Value offset | FL4 | The offset from the beginning of this record to the generated nominal value. A value of binary zeros indicates that there is no generated nominal value. |
| ......Byte length | FL4 | The byte length of the nominal value, if defined with a byte length. |
| ......Bit length | FL4 | The bit length of the nominal value, if defined with a bit length. |
| ......Nominal value | XL(n) | If this record describes a DC, CXD, CCW, CCW0, or CCW1, then the
value contains the nominal value. (A DC with a zero duplication
factor is treated the same as a DS and this field is not present). If
this record describes a DS or DXD, this field is not present.
If a byte length is specified (or implied), the value contains the number of bytes specified. The value field is aligned according to the operand type. For example, hexadecimal values are left-aligned and packed values are right-aligned. If a bit length is specified, the length of the value is the number of bytes required to contain the required bits. For example, if the bit length was 10, the value is 2 bytes in length. The value is in the leftmost 10 bits. Alignment within the specified number of bits is according to the operand type. For example, hexadecimal values are left-aligned and packed values are right-aligned. |
| End of nominal-value group. | ||
|
Note:
|
||
The following examples show the format of a DC/DS Record for various DC statements.
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'2'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'108'
Location Counter : X'00000000'
Duplication Factor : F'3'
Bit Offset : B'00000000'
Type Attribute : C'F'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'68'
Offset of next value : F'88'
Offset of generated value : F'84'
Byte length : F'4'
Bit length : F'0'
Generated Value : X'00000005'
Offset of next value : F'0'
Offset of generated value : F'104'
Byte length : F'4'
Bit length : F'0'
Generated Value : X'00000006'
Offset of next Operand : F'0'
Location Counter : X'00000018'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'H'
Type Extension : C' '
Program Type : X'00000005'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'138'
Offset of next value : F'0'
Offset of generated value : F'154'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'0007'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'3'
Number of Operands : F'1'
Offset of first Operand : F'38'
Offset of next Operand : F'0'
Location Counter : X'0000001A'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'P'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'68'
Offset of next value : F'85'
Offset of generated value : F'84'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'5C'
Offset of next value : F'0'
Offset of generated value : F'101'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'927C'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'4'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'85'
Location Counter : X'0000001D'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'05' B'00000101'
Offset of next Operand : F'0'
Location Counter : X'0000001E'
Duplication Factor : F'2'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'115'
Offset of next value : F'0'
Offset of generated value : F'131'
Byte length : F'1'
Bit length : F'0'
Generated Value : X'17' B'00010111'
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'5'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'85'
Location Counter : X'00000020'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'0'
Bit length : F'3'
Generated Value : X'A0' B'10100000'
Offset of next Operand : F'0'
Location Counter : X'00000020'
Duplication Factor : F'1'
Bit Offset : B'00000011'
Type Attribute : C'B'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'2'
Offset of first value : F'115'
Offset of next value : F'132'
Offset of generated value : F'131'
Byte length : F'0'
Bit length : F'5'
Generated Value : X'B8' B'10111000'
Offset of next value : F'0'
Offset of generated value : F'148'
Byte length : F'0'
Bit length : F'5'
Generated Value : X'C8' B'11001000'
This example shows a DC statement that requires the type extension field to differentiate the attributes of the two floating point operands.
ESDID : F'1'
Type Flag : B'10000000'
Reserved : X'0000000000'
Statement Number : F'6'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'100'
Location Counter : X'00000028'
Duplication Factor : F'1'
Bit Offset : B'00000000'
Type Attribute : C'L'
Type Extension : C'B'
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'68'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'16'
Bit length : F'0'
Generated Value : X'40010000000000000000000000000000'
Offset of next Operand : F'0'
Location Counter : X'00000038'
Duplication Factor : F'2'
Bit Offset : B'00000000'
Type Attribute : C'L'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'130'
Offset of next value : F'0'
Offset of generated value : F'146'
Byte length : F'16'
Bit length : F'0'
Generated Value : X'41900000000000003300000000000000'
This example shows a DC statement that requires a DC extension record (X'0035') to contain the repeating fields.
The object code generated, and shown in the assembler listing:
2 PRINT DATA 000000 FFFE000000020004 3 DC 5Y(*-2),5Y(*-1) 000008 00060009000B000D 000010 000F0011
The ADATA records produced:
ESDID : F'1'
Type Flag : B'10010000'
Reserved : X'0000000000'
Statement Number : F'3'
Number of Operands : F'2'
Offset of first Operand : F'38'
Offset of next Operand : F'86'
Location Counter : X'00000000'
Duplication Factor : F'5'
Bit Offset : B'00000000'
Type Attribute : C'Y'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'130'
Offset of next value : F'0'
Offset of generated value : F'84'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'FFFE'
Offset of next Operand : F'86'
Location Counter : X'0000000A'
Duplication Factor : F'5'
Bit Offset : B'00000000'
Type Attribute : C'Y'
Type Extension : C' '
Program Type : X'00000000'
Reserved : X'00000000'
Number of values : F'1'
Offset of first value : F'116'
Offset of next value : F'0'
Offset of generated value : F'132'
Byte length : F'2'
Bit length : F'0'
Generated Value : X'0009'
The object text for the statement is in the following DC Extension Record:
ESDID : F'1' Statement Number : F'3' Location Counter : F'0' Reserved : X'0000000000000000' Offset of Object : F'44' Length of Object : F'20' Object Text : X'FFFE00000002000400060009000B000D000F0011'
[ Top of Page | Previous Page | Next Page | Contents | Index ]