Segment map

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.