Detailed Segments Map Option

From RAD Studio
Jump to: navigation, search

Go Up to Command Line Utilities Index


The Detailed Segments option of ILINK32 (/s) creates the most comprehensive map file by adding a detailed map of segments to the map file created with the Publics option (/m). The detailed list of segments contains the segment class, the segment name, the segment group, the segment module, and the segment ACBP information. If the same segment appears in more than one module, each module appears as a separate line.

The ACBP field encodes the A (alignment), C (combination), and B (big) attributes into a set of four bit fields, as defined by Intel. ILINK32 uses only three of the fields: A, C, and B. The ACBP value in the map is printed in hexadecimal. The following field values must be ORed together to arrive at the ACBP value printed.

Field Value Description
A (alignment)
00

An absolute segment

20

A byte-aligned segment

40

A word-aligned segment

60

A paragraph-aligned segment

80

A page-aligned segment

A0

An unnamed absolute portion of storage

C (combination)
00

Cannot be combined

08

A public combining segment

B (big, for 16 bit)
00

Segment less than 64 K

02

Segment exactly 64K

With the Segments options set, public symbols with no references are flagged idle. An idle symbol is a publicly defined symbol in a module that was not referenced by an EXTDEF record or by any other module included in the link. For example, this fragment from the public symbol section of a map file indicates that symbols Symbol1 and Symbol3 are not referenced by the image being linked:

0002:00000874     Idle     Symbol1
0002:00000CE4              Symbol2
0002:000000E7     Idle     Symbol3
Personal tools
Newest Version: XE