If you request it, the assembler writes out symbolic
information concerning the assembled program ahead of all other object
module records. The format of the output record images is as follows:
- Columns
- Contents
- 1
- X'02'
- 2–4
- SYM
- 5–10
- Space
- 11–12
- Variable field—number of bytes of text in variable field (columns
17–72)
- 13–16
- Space
- 17–72
- Variable field (see below)
- 73–80
- Deck ID, sequence number, or both. The deck ID is the name from
the first TITLE statement that has a non-space name field. The name
can be 1–8 characters. If the name is fewer than eight characters
or if there is no name, the remaining columns contain a record sequence
number.
The variable field (columns 17–72) contains up to 56 bytes of text.
The items comprising the text are packed together; consequently, only
the last record can contain less than 56 bytes of text in the variable
field. The formats of a text record and an individual text item are
shown in
Figure 1. The contents
of the fields within an individual entry are as follows:
- Organization (1 byte). The possible values are shown in Table 1.
Table 1. Organization value byteBits |
Value |
Description |
---|
0 |
0 |
Non-data type |
1 |
Data type |
1–3 If non-data type |
000 |
Space |
001 |
Control section |
010 |
Dummy control section |
011 |
Common |
100 |
Instruction |
101 |
CCW, CCW0, CCW1 |
1 If data type |
0 |
No multiplicity |
1 |
Multiplicity (indicates presence of M Field) |
2 If data type |
0 |
Independent (not a packed or zoned decimal constant) |
1 |
Cluster (packed or zoned decimal constant) |
3 If data type |
0 |
No scaling |
1 |
Scaling (indicates presence of S field) |
4 |
0 |
Name present |
1 |
Name not present |
5–7 |
|
Length of name minus 1 |
- Address (3 bytes)—displacement from base of control section
- Symbol Name (0–8 bytes)—symbolic name of particular item. If the
entry is non-data type and space, an extra byte is present that contains
the number of bytes that have been skipped.
- Data Type (1 byte)—contents in hexadecimal
- 00 = character
- 04 = hexadecimal or pure DBCS (G-type)
- 08 = binary
- 10 = fixed point, full
- 14 = fixed point, half
- 18 = floating point, short
- 1C = floating point, long
- 20 = A-type or Q-type data
- 24 = Y-type data
- 28 = S-type data
- 2C = V-type data
- 30 = packed decimal
- 34 = zoned decimal
- 38 = floating point, extended
- Length (2 bytes for character and hexadecimal, 1 byte for other
types)—length of data item minus 1
- Multiplicity–M field (3 bytes)—equals 1 if not present
- Scale–signed integer–S field (2 bytes)—present only for F-, H-,
E-, D-, P-, and Z-type data, and only if scale is nonzero
Figure 1. SYM record format 1 2 4 5 10 11 12 13 16 17 72 73 80
┌──────┬───┬─────┬───────┬─────┬──────────────────────────────────┬────────────┐
│ │ │ │No. of │ │ │Deck Id and │
│ X'02'│SYM│Space│bytes │Space│ Text - packed entries │Seq. Number │
│ │ │ │of text│ │ │ │
└──────┴───┴─────┴───────┴─────┴──────────────────────────────────┴────────────┘
1 3 6 2 4 56 8
Text
┌────────────┬─────────────────────────────────┬──────────────┐
│ Entry │ N Complete entries │ Entry │
│(Complete or│ N >= 1 │(Complete or │
│end portion)│ │head portion) │
└────────────┴─────────────────────────────────┴──────────────┘
Variable size entries
Entry
┌────┬───────┬───────────┬────┬──────┬──────┬─────┐
│Org.│Address│Symbol name│Data│Length│Mult. │Scale│
│ │ │ │Type│ │Factor│ │
└────┴───────┴───────────┴────┴──────┴──────┴─────┘
1 3 0–8 1 1–2 3 2