6.3.2.6 Symbol Table
The next section in the map file alphabetically lists the global symbols that the program defines. This section has the heading:
Symbol Table
The symbols listed in this table are:
- Global assembly labels
- Global
EQU
/SET
assembler directive labels - Linker-defined symbols
Assembly symbols are made global via the GLOBAL
assembler
directive, see 4.9.29 Global Directive for
more information.
Linker-defined symbols act like EQU
directives. However,
they are defined by the linker during the link process, and no definition for them appears
in any source or intermediate file (see 5.4 Linker-Defined Symbols).
Each symbol is shown with the psect in which it is defined and the value (usually an address) it has been assigned. There is not any information encoded into a symbol to indicate whether it represents code or data – nor in which memory space it resides.
If the psect of a symbol is shown as (abs
), this implies
that the symbol is not directly associated with a psect. Such is the case for absolute C
variables, or any symbols that are defined using an EQU
directive in
assembly.
Note that a symbol table is also shown in each assembler list file. These differ to that shown in the map file as they also list local symbols and they only show symbols defined in the corresponding module.