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 directive. -------------------------------- Brad Kimmel intrepid@accessv.com Mississauga, Ontario, Canada --------------------------------