Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Blinker 5.10 Online Reference - <b> map output - real mode .exes</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 MAP output - real mode .EXEs
------------------------------------------------------------------------------
 The default Blinker MAP command will produce a map of the executable file
 similar to the one shown below: The same map file is produced with the `S'
 option.

 Start       Stop        Length      Name          Class
 --------------------------------------------------------
 00000h      02F48h      02F49h      _TEXT          CODE
 02F4Ah      02F4Ah      00000h      SORTBLOC_TEXT  CODE
 02F4Ah      03213h      002CAh      ASUPPORT_TEXT  CODE
 03214h      035C0h      003ADh      FILESYS_TEXT   CODE
 .           .
 .           .
 41E94h      41E94h      00000h      _SYMP          DATA
 41E94h      41E94h      00000h      _SYMPE         DATA
 41E94h      41EA1h      0000Eh      CDATA          DATA
 41EA2h      41EA2h      00000h      XIFB           DATA
 .           .
 .           .
 425B0h      425EBh      0003Ch      C_COMMON       BSS
 425F0h      435EFh      01000h      STACK          STACK

 Origin         Group
 3C2A:0000      DGROUP
 Program entry point at 3710:0399

 This is an example of several fragments of the output generated by the
 default MAP option.

 The name and class of each segment within the .EXE is listed under the
 corresponding column headings. These segment names and classes have been
 assigned in the originating object file (.OBJ). either by the compiler or by
 the programmer.

 The column labeled START lists the beginning address of each segment within
 the memory image, the STOP column lists the corresponding end address, and
 the length is merely the first subtracted from the second. The last
 character `h' in these columns indicates hexadecimal. Since these addresses
 are relocatable, the load address of the application must be added to the
 map address to get the actual address at runtime.

 Overlay section map

 The map also lists the program's overlays (if any) in a separate section
 following the segment map. For each overlay, this section lists: the overlay
 number (used by Blinker), the number of public symbols contained within the
 overlay (normally this equates to the number of functions withing the
 overlay), the size of the overlay in bytes, the name of the overlaid
 segment, and the name of the module that contained the segment. Following
 the list of overlays is a total figure indicating the total size of all the
 overlays within the program.

 Section  Pubs  Length      Name       Module
 ----------------------------------------------
 0001H    1       250       MJINIT     MJINIT
 0002H    1        68       DISFRG     MJINIT
 0003H    1        42       DISPAK     MJINIT
 . . .  .  .  .
 024DH    1        83       MJCOPY     MJCOPY
 024EH    7       559       SWPMEM     CLSWPMEM
 024FH    1     12817       $$$SWPSYS  SWPRUN
 --------------------
 Total         425610
 --------------------

 This total figure is also the optimum size that the overlay cache can be set
 to, whereby all overlays can be stored concurrently within a cache of this
 size. However, significant performance benefits can still be gained at
 smaller cache sizes. Note: that Blinker will never allocate a cache that is
 larger than this size, even if instructed to do so.

 Public symbols map

 The `A' MAP command option causes a list of all public symbols in address
 order to be output:

 Address        Publics by Value

 0000:0000      Abs      __START_SYM
 0000:9876      Abs      __FLTUSED
 0000:9876      Abs      __ACRTUSED
 0000:9876      Abs      __ACRTMSG
       .     .     .
 0001:0000      Res      TEST
 00BE:0006      Res      PROD_MENU
 00E7:000A      Res      COMP_MEN
       .     .     .
 3E82:0000      Ovl      __APPINIT
 3E83:0000      Ovl      ERRORSYS
 3E86:0000      Ovl      __SETCENTU
 3E87:0000      Ovl      __SETHELPK
       .     .     .
 4089:000A      Pag      SYSCHECK
 4089:0018      Pag      SYSUPDATE
 4089:001F      Pag      SYSEND

 Absolute symbols, marked as `Abs', are typically public constants available
 throughout the program, or absolute locations in memory, such as the BIOS
 data area or the screen buffer.

 Resident symbols, marked as `Res', reside in the root section of the
 program.

 Overlaid symbols, marked as `Ovl' are overlaid.
 Symbols belonging to CA-Clipper 5.x code are marked as `Pag' when the paging
 system is enabled.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson