borland .map file format

the map file is simply a list of the segments contained in the
compiled program together with information about the segment type
and where it appears in the compiled code.

here is an example of a .map file for a tasm prog i wrote:

start stop length name class

00000h 00000h 00000h _text code
00000h 00356h 00357h _codeseg code
00358h 00358h 00000h _data data
00360h 00ee9h 00b8ah _varseg data
00ef0h 108efh 0fa00h _scrnseg scrn
108f0h 1092fh 00040h _stackseg stack

program entry point at 0000:02c7
warning: no stack

first it displays headings for each column (start, stop, length, name,
and class).. then it lists all the segments in the order they appear in
the executable... the start is how far into the code (in hex) that the
segment starts at, stop is how far into the code the segment ends.. and
the length is stop - start. under name is just the name of the segment
that the programmer gave it when programming it.. (default segs are
_text and _data if you just use .code and .data to start your segs) and
class is the alias that you give the seg.. for example.. if you declare
the seg like the following in your program:

_scrnseg    segment public 'scrn'
_scrnseg    ends

the name will be _scrnseg and the class will be scrn. the program entry
point is the state of cs:ip upon entry to the program (cs will be offset
however depending on where in memory the program is loaded).. after that
it lists any warnings or errors in the program.. in this case it gave a
no stack warning because i manually declared a stack seg rather than
using the conventional .stack <size> directive.

brad kimmel
mississauga, ontario, canada