ESDID |
FL4 |
The ESDID for the source record. |
Type Flag |
XL1 |
- 1... ....
- Bit 1 = Define Constant (DC, CXD, CCW, CCW0, or CCW1), Bit 0 =
Define Storage (DS or DXD)
- .1.. ....
- If "Define Constant" bit is set, bit 1 indicates the operand
is a CXD. If "Define Constant" bit is not set, bit 1 indicates
the operand is a DXD.
- ..1. ....
- If "Define Constant" bit is set, bit 1 indicates the operand
is a CCW, CCW0, or CCW1.
- ...1 ....
- Bit 1 indicates this record is associated with an object text
record (X'0035'). The object text record is created when a DC statement
has a duplication factor greater than 1, and at least one of the operand
values has a reference to the current location counter (*).
- .... 1...
- Reserved
- .... .1..
- Reserved
- .... ..1.
- Reserved
- .... ...1
- Reserved
|
|
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: - Only one of the two fields for byte/bit lengths contains a non-zero
value. This means that there is a byte length,
or a bit length, but not both.
- No description of any inter-statement boundary alignment padding
is produced. Any padding because of alignment can be calculated by
comparing the location counter of the current operand with the sum
of the location counter and length of the previous operand.
The
length of the previous operand needs to be calculated using the duplication
factor, number of nominal values, and the length of each nominal value.
- High Level Assembler creates the DC Extension record X'0035' when
the duplication factor is greater than 1 and at least one of the operand
values has a reference to the current location counter (*).
See topic Example6.
- Where the number of operands exceeds the record size for the associated
data file, the record is continued on the next record. The continuation
flag is set in the common header section of the record. The current
number of operands (for that record) is stored in the record and the
record written to the associated data file. The next record contains
the subsequent operands. The count of the number of operands is a
count for the current record.
Fields that have been written are
not repeated in the next record. Fixed-length fields are initialized
to binary zeros or spaces, and variable-length fields have a length
of binary zeros.
|