When the binder produces a program object executable, it is composed
of one or more segments. The binder will always arrange the program
so that segment 1 contains the entry point. To understand the importance
of the information contained in the Segment Map Table, see Understanding binder programming
concepts in z/OS MVS Program Management: Advanced Facilities,
in particular Multiple-text class modules, load segments and ESD
offsets. For an example of a Segment map for a multiple-text
class module, see Sample segment map table for LISTLOAD OUTPUT=XREF of mutiple-text class module.
Each of the columns in a Segment map table is described as follows:
- CLASS
- The class name of this part of the segment. The segment will be
composed of one or more classes. Note that a section may contribute
to more than one class.
- SEGMENT
- The segment in which this class resides. A given class will reside
in only one segment, and all classes in the same segment will have
the same attributes.
- OFFSET
- The offset the beginning of the named class from the beginning
of the segment. Note that every segment has it's own origin (offset
0), because each may be independently loaded.
- LENGTH
- The length of the named class in the segment.
- LOAD
- The loading time attribute of the class, which will be the same
for all classes with the same segment number. The possible values
are:
- INITIAL
- An initial load class which is loaded when the program entry point
or alias is loaded.
- DEFER
- A deferred load class which is not loaded when the program entry
point or alias is loaded.
- TYPE
- The binding type of class. The possible values are:
- CAT
- A concatenated class. This is the usual way in which a section
contributes to a class (known as elements). The elements are arranged
one after the other.
- MERGE
- A "merge" class. This type of class is used for parts, which are
for data, where one or more part comprises an element.
- ALIGNMENT
- The alignment of the class or elements contained in the class.
The possible values are:
- BYTE
- HALF WORD
- FULL WORD
- DOUBLE WORD
- QUAD WORD
- 32 BYTE
- 64 BYTE
- 128 BYTE
- 256 BYTE
- 512 BYTE
- 1024 BYTE
- 2048 BYTE
- PAGE
- RMODE
- The residency mode of the class and the segment. If only one
value is listed, it is the residency mode of both the class and segment.
If a second value is given, the first value is the residency mode
of the class and the second value is the residency mode of the segment
(for example, 24,31 would indicate that a class with the attribute
RMODE=24 is part of a segment that has RMODE=31). The segment is loaded
according to the residency mode of the segment. The possible values
are: 24, 31, and 64.