The -map Option

The -map option produces a storage allocation map, which displays the location and allocation size of each program entity. The map categorizes this information by name, class, size, location, and attributes.

This information is presented in five columns:

Column Description
NAME Indicates the name of each entity in the program.
CLASS Indicates the storage class of each program entity; for example, AUTOMATIC, CONSTANT, STATIC, PARAMETER, CONTROLLED, or BASED.
SIZE Indicates the size of the entity, usually in bytes. If the size is measured in bits, the size number is followed by a B. If the size of the entity is not constant, a -V- is displayed in the location listing. Entities of class ENTRY or BUILTIN have no size or location listing.
LOCATION Gives the offset location of the entity in hexadecimal notation.
  • For automatic variables, the location column gives the memory offset from the frame pointer
  • For static variables, it gives the memory offset from the beginning of static data
  • For controlled and based variables, it displays the value -V-
ATTRIBUTES     Displays the data type of the entity, for example, FIXED DEC, FLOAT BIN, CHAR, CHAR VAR, BIT ALIGNED, and ENTRY.

Displays BUILTIN for an entity of BUILTIN class. Displays the precision and scale of the entity, where applicable, in parentheses: for example, FIXED BIN(15,0).

Program entities are listed in the order in which they appear in the procedure.

The map first lists external entry points to the program: external constants, subroutines, or programs, including the source program itself. These entry points are listed with name, class, and attributes.

The map then lists program procedures and entities by line number.