A 16-bit Map File

Part 1: Same sequence as executable.

 DEMO

 Start     Length     Name                   Class
 0001:0000 00292H     DEMO_TEXT              CODE
 0001:0292 02BE6H     _TEXT                  CODE
 0001:2E78 00000H     C_ETEXT                ENDCODE
 0002:0000 02910H     FAR_BSS                FAR_BSS
 0003:0000 00042H     NULL                   BEGDATA
 0003:0042 007D8H     _DATA                  DATA
 0003:081A 0000EH     CDATA                  DATA
 0003:0828 00000H     XIFB                   DATA
 0003:0828 00000H     XIF                    DATA
 0003:0828 00000H     XIFE                   DATA
 0003:0828 00000H     XIB                    DATA
 0003:0828 00000H     XI                     DATA
 0003:0828 00000H     XIE                    DATA
 0003:0828 00000H     XPB                    DATA
 0003:0828 00004H     XP                     DATA
 0003:082C 00000H     XPE                    DATA
 0003:082C 00000H     XCB                    DATA
 0003:082C 00000H     XC                     DATA
 0003:082C 00000H     XCE                    DATA
 0003:082C 00000H     XCFB                   DATA
 0003:082C 00000H     XCF                    DATA
 0003:082C 00000H     XCFE                   DATA
 0003:082C 00006H     CONST                  CONST
 0003:0832 00008H     HDR                    MSG
 0003:083A 000FAH     MSG                    MSG
 0003:0934 00002H     PAD                    MSG
 0003:0936 00001H     EPAD                   MSG
 0003:0938 00226H     _BSS                   BSS
 0003:0B5E 00000H     XOB                    BSS
 0003:0B5E 00000H     XO                     BSS
 0003:0B5E 00000H     XOE                    BSS
 0003:0B60 00000H     c_common               BSS
 0003:0B60 00A00H     STACK                  STACK

 Origin   Group
 0003:0   DGROUP

Note: The numbers to the left of the colon look like the selector part of a far address, because that is what they will become. The linker has no idea what selectors will be assigned by the loader, so it simply calls the first segment 1, the next segment 2, and so on.

Note: The loader actually builds a table that shows the relationship between the selector assigned and the segment number from the map.

Part 2: Sorted by the name of the symbol

  Address         Publics by Name

 0000:0000  Imp  DOSALLOCSEG          (DOSCALLS.34)
 0000:0000  Imp  DOSCHGFILEPTR        (DOSCALLS.58)
 0000:0000  Imp  DOSEXIT              (DOSCALLS.5)
 0000:0000  Imp  DOSGETDBCSEV         (NLS.4)
 0000:0000  Imp  DOSGETMACHINEMODE    (DOSCALLS.49)
 0000:0000  Imp  DOSGETVERSION        (DOSCALLS.92)
 0000:0000  Imp  DOSQHANDTYPE         (DOSCALLS.77)
 0000:0000  Imp  DOSREAD              (DOSCALLS.137)
 0000:0000  Imp  DOSREALLOCSEG        (DOSCALLS.38)
 0000:0000  Imp  DOSSETVEC            (DOSCALLS.89)
 0000:0000  Imp  DOSWRITE             (DOSCALLS.138)
 0003:06E6       STKHQQ
 0001:2D3E       _brkctl
 0003:0938       _edata
 0003:0B60       _end
 0003:069B       _environ
 0003:0662       _errno
 0001:057A       _exit
 0001:24E6       _fflush
 0001:03F0       _fgets
 0001:295C       _flushall
 0001:275C       _free
 0001:0000       _gen
 0001:2836       _isatty
 0001:29A0       _lseek
 0001:00E2       _main
 0001:2771       _malloc
 0001:285A       _memset
 0002:0000       _prime
 0001:0394       _printf
 0001:2618       _read
 0001:0492       _sscanf
 0001:2E64       _stackavail
 0001:2024       _strlen
 0001:282C       _ultoa
 0001:2576       _ungetc
 0001:29DE       _write
 0003:06E2       __aaltstkovr
 0003:04D6       __abrkp
 0003:00D6       __abrktb
 0003:04D6       __abrktbe
 0003:04D8       __acfinfo
 0003:00CC       __acmdln
 0000:9876  Abs  __acrtmsg
 0000:9876  Abs  __acrtused
 0000:D6D6  Abs  __aDBdoswp
 0003:06A6       __adbgmsg
 0000:D6D6  Abs  __aDBused
 0003:00CE       __aenvseg
 0003:00D4       __aexit_rtn
 0001:2E58       __aFlshl
 0001:28A2       __aFNalshl
 0000:0000  Imp  __AHINCR             (DOSCALLS.136)
 0001:2BDD       __amalloc
 0001:2D1C       __amallocbrk
 0003:0816       __amblksiz
 0001:2CC0       __amexpand
 0001:2CFA       __amlink
 0001:0310       __amsg_exit
 0003:0042       __anullsize
 0003:0810       __aseg1
 0003:0806       __asegds
 0003:04E6       __aseghi
 0003:04E8       __aseglo
 0003:0812       __asegn
 0003:0814       __asegr
 0003:00D0       __asizds
 0003:0702       __asizeC
 0003:0703       __asizeD
 0001:02A2       __astart
 0003:00D2       __atopsp
 0002:2710       __bufin
 0003:06EA       __cfltcvt_tab
 0003:06E8       __cflush
 0003:06A3       __child
 0001:2244       __chkstk
 0001:04F0       __cinit
 0001:0306       __cintDIV
 0001:2DF4       __cltoasub
 0001:05CA       __ctermsub
 0003:0704       __ctype
 0003:0704       __ctype_
 0001:2E01       __cxtoa
 0003:0669       __doserrno
 0003:0668       __dosmode
 0001:291F       __dosret
 0001:2910       __dosretf
 0003:0666       __dosvermajor
 0003:0667       __dosverminor
 0001:0591       __exit
 0003:065A       __fac
 0001:275C       __ffree
 0001:05EC       __FF_MSGBANNER
 0001:0702       __filbuf
 0001:22D0       __flsbuf
 0001:2771       __fmalloc
 0003:081C       __fpinit
 0001:223E       __fptrap
 0001:08E0       __ftbuf
 0001:2458       __getbuf
 0001:098C       __input
 0003:04EE       __iob
 0003:05DE       __iob2
 0003:0656       __lastiob
 0003:066B       __nfile
 0001:2B82       __nfree
 0001:2B94       __nmalloc
 0001:069C       __NMSG_TEXT
 0001:06CC       __NMSG_WRITE
 0001:2268       __nullcheck
 0003:0669       __oserr
 0003:066D       __osfile
 0003:0666       __osmajor
 0003:0667       __osminor
 0003:0668       __osmode
 0003:0666       __osversion
 0001:156A       __output
 0003:069F       __pgmptr
 0003:0681       __pipe
 0001:203C       __setargv
 0001:0610       __setenvp
 0003:0700       __sigintoff
 0003:06FE       __sigintseg
 0001:07FE       __stbuf
 0001:228E       __stdalloc
 0003:06AE       __stdbuf
 0003:0664       __umaskval
 0003:04EC       ___aDBrterr
 0003:04EA       ___aDBswpflg
 0003:0695       ___argc
 0003:0697       ___argv

Part 3: Sorted by location in storage

  Address         Publics by Value

 0000:0000  Imp  DOSGETMACHINEMODE    (DOSCALLS.49)
 0000:0000  Imp  DOSGETVERSION        (DOSCALLS.92)
 0000:0000  Imp  DOSREAD              (DOSCALLS.137)
 0000:0000  Imp  __AHINCR             (DOSCALLS.136)
 0000:0000  Imp  DOSEXIT              (DOSCALLS.5)
 0000:0000  Imp  DOSALLOCSEG          (DOSCALLS.34)
 0000:0000  Imp  DOSREALLOCSEG        (DOSCALLS.38)
 0000:0000  Imp  DOSCHGFILEPTR        (DOSCALLS.58)
 0000:0000  Imp  DOSWRITE             (DOSCALLS.138)
 0000:0000  Imp  DOSSETVEC            (DOSCALLS.89)
 0000:0000  Imp  DOSQHANDTYPE         (DOSCALLS.77)
 0000:0000  Imp  DOSGETDBCSEV         (NLS.4)
 0000:9876  Abs  __acrtmsg
 0000:9876  Abs  __acrtused
 0000:D6D6  Abs  __aDBdoswp
 0000:D6D6  Abs  __aDBused
 0001:0000       _gen
 0001:00E2       _main
 0001:02A2       __astart
 0001:0306       __cintDIV
 0001:0310       __amsg_exit
 0001:0394       _printf
 0001:03F0       _fgets
 0001:0492       _sscanf
 0001:04F0       __cinit
 0001:057A       _exit
 0001:0591       __exit
 0001:05CA       __ctermsub
 0001:05EC       __FF_MSGBANNER
 0001:0610       __setenvp
 0001:069C       __NMSG_TEXT
 0001:06CC       __NMSG_WRITE
 0001:0702       __filbuf
 0001:07FE       __stbuf
 0001:08E0       __ftbuf
 0001:098C       __input
 0001:156A       __output
 0001:2024       _strlen
 0001:203C       __setargv
 0001:223E       __fptrap
 0001:2244       __chkstk
 0001:2268       __nullcheck
 0001:228E       __stdalloc
 0001:22D0       __flsbuf
 0001:2458       __getbuf
 0001:24E6       _fflush
 0001:2576       _ungetc
 0001:2618       _read
 0001:275C       _free
 0001:275C       __ffree
 0001:2771       __fmalloc
 0001:2771       _malloc
 0001:282C       _ultoa
 0001:2836       _isatty
 0001:285A       _memset
 0001:28A2       __aFNalshl
 0001:2910       __dosretf
 0001:291F       __dosret
 0001:295C       _flushall
 0001:29A0       _lseek
 0001:29DE       _write
 0001:2B82       __nfree
 0001:2B94       __nmalloc
 0001:2BDD       __amalloc
 0001:2CC0       __amexpand
 0001:2CFA       __amlink
 0001:2D1C       __amallocbrk
 0001:2D3E       _brkctl
 0001:2DF4       __cltoasub
 0001:2E01       __cxtoa
 0001:2E58       __aFlshl
 0001:2E64       _stackavail
 0002:0000       _prime
 0002:2710       __bufin
 0003:0042       __anullsize
 0003:00CC       __acmdln
 0003:00CE       __aenvseg
 0003:00D0       __asizds
 0003:00D2       __atopsp
 0003:00D4       __aexit_rtn
 0003:00D6       __abrktb
 0003:04D6       __abrktbe
 0003:04D6       __abrkp
 0003:04D8       __acfinfo
 0003:04E6       __aseghi
 0003:04E8       __aseglo
 0003:04EA       ___aDBswpflg
 0003:04EC       ___aDBrterr
 0003:04EE       __iob
 0003:05DE       __iob2
 0003:0656       __lastiob
 0003:065A       __fac
 0003:0662       _errno
 0003:0664       __umaskval
 0003:0666       __osmajor
 0003:0666       __dosvermajor
 0003:0666       __osversion
 0003:0667       __osminor
 0003:0667       __dosverminor
 0003:0668       __osmode
 0003:0668       __dosmode
 0003:0669       __doserrno
 0003:0669       __oserr
 0003:066B       __nfile
 0003:066D       __osfile
 0003:0681       __pipe
 0003:0695       ___argc
 0003:0697       ___argv
 0003:069B       _environ
 0003:069F       __pgmptr
 0003:06A3       __child
 0003:06A6       __adbgmsg
 0003:06AE       __stdbuf
 0003:06E2       __aaltstkovr
 0003:06E6       STKHQQ
 0003:06E8       __cflush
 0003:06EA       __cfltcvt_tab
 0003:06FE       __sigintseg
 0003:0700       __sigintoff
 0003:0702       __asizeC
 0003:0703       __asizeD
 0003:0704       __ctype
 0003:0704       __ctype_
 0003:0806       __asegds
 0003:0810       __aseg1
 0003:0812       __asegn
 0003:0814       __asegr
 0003:0816       __amblksiz
 0003:081C       __fpinit
 0003:0938       _edata
 0003:0B60       _end

Program entry point at 0001:02A2


[Back: Exercise 4: Application Documentation]
[Next: A 16-Bit Code File]