home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / sysutl / lowmem.arc / LOWMEM.TXT
Text File  |  1988-06-18  |  19KB  |  409 lines

  1. NOTE:  The following tables were compiled by:
  2.         Michael L. Mohle'            Princeton-Galax Systems
  3.         9 Grover Ave                Princeton, NJ 08540
  4.         (609) 924-4149 (evenings)
  5.         CIS: 76340,650                Source: BEA751
  6.  
  7. No claims of accuracy are made.  The sources are many, including IBM and other
  8. manufacturer documentation, numerous books, other compilations of a similar
  9. nature, and a number of years working with PC-class machines. If you find any
  10. errors or have anything to add, please let me know.  My goal is to provide a
  11. good reference tool. -- MLM
  12.  
  13.     *** CONTENTS OF THIS FILE ARE HEREBY RELEASED TO THE PUBLIC DOMAIN ***
  14.  
  15. PC Compatible Low-Memory Map                                PGS -- Page   1
  16.  
  17. Interrupt Vectors (0000-003F)
  18. -----------------------------
  19.  
  20. Addr  Int  Function
  21. --------------------------------------------------------------------------------
  22. 0000  00h  CHIP Divide by zero
  23. 0004  01h  CHIP Single-step
  24. 0008  02h  CHIP NMI (Non-Maskable-Interrupt)
  25. 000C  03h  CHIP Breakpoint (1-byte-Interrupt)
  26. 0010  04h  CHIP Overflow on INTO
  27. 0014  05h  BIOS Print-screen Key | 286 Bound-Check-Failed
  28. 0018  06h  286  Undefined Opcode
  29. 001C  07h  286  No math unit available
  30. --------------------------------------------------------------------------------
  31. 0020  08h  BIOS IRQ_0 Time of day        (Vectored Hardware Line)
  32. 0024  09h  BIOS IRQ_1 Keyboard        (Vectored Hardware Line)
  33. 0028  0Ah  BIOS IRQ_2 Reserved        (Vectored Hardware Line)
  34. 002C  0Bh  BIOS IRQ_3 Serial port        (Vectored Hardware Line)
  35. 0030  0Ch  BIOS IRQ_4 Serial port        (Vectored Hardware Line)
  36. 0034  0Dh  BIOS IRQ_5 Alt. printer     (Vectored Hardware Line)
  37. 0038  0Eh  BIOS IRQ_6 Diskette        (Vectored Hardware Line)
  38. 003C  0Fh  BIOS IRQ_7 Printer         (Vectored Hardware Line)
  39. --------------------------------------------------------------------------------
  40. 0040  10h  BIOS Video
  41. 0044  11h  BIOS Equipment check
  42. 0048  12h  BIOS Memory size
  43. 004C  13h  BIOS Diskette
  44. 0050  14h  BIOS Serial communications
  45. 0054  15h  BIOS Cassette, 286 extended I/O
  46. 0058  16h  BIOS Keyboard
  47. 005C  17h  BIOS Printer
  48. --------------------------------------------------------------------------------
  49. 0060  18h  BIOS ROM BASIC entry
  50. 0064  19h  BIOS Bootstrap
  51. 0068  1Ah  BIOS Time of day
  52. 006C  1Bh  BIOS Keyboard-break
  53. 0070  1Ch  BIOS Timer-tick
  54. 0074  1Dh  BIOS Video initialization
  55. 0078  1Eh  BIOS Floppy parameters
  56. 007C  1Fh  BIOS Graphics Chars (EGA)
  57. --------------------------------------------------------------------------------
  58. 0080  20h  DOS Program termination
  59. 0084  21h  DOS Function Calls
  60. 0088  22h  DOS Terminate Address
  61. 008C  23h  DOS Ctrl-break Exit
  62. 0090  24h  DOS Critical Error Handler
  63. 0094  25h  DOS Absolute sector read
  64. 0098  26h  DOS Absolute sector write
  65. 009C  27h  DOS Terminate, stay resident
  66. --------------------------------------------------------------------------------
  67. 00A0  28h  DOS Internal KEYBOARD_BUSY_LOOP
  68. 00A4  29h  DOS Internal FAST_PUTCHAR
  69. 00A8  2Ah  DOS Internal (IRET)
  70. 00AC  2Bh  DOS Internal (IRET)
  71. 00B0  2Ch  DOS Internal (IRET)
  72. 00B4  2Dh  DOS Internal (IRET)
  73. 00B8  2Eh  DOS Internal EXECUTE-COMMAND
  74. 00BC  2Fh  DOS Multiplex
  75. --------------------------------------------------------------------------------
  76. 00C0  30h  DOS Internal (Not a vector! - FAR JMP for CP/M-style calls)
  77. 00C4  31h  DOS Internal
  78. 00C8  32h  DOS Reserved (IRET)
  79. 00CC  33h  Microsoft Mouse
  80. 00D0  34h  Turbo-C Floating-Point Emulator
  81. 00D4  35h  Turbo-C Floating-Point Emulator
  82. 00D8  36h  Turbo-C Floating-Point Emulator
  83. 00DC  37h  Turbo-C Floating-Point Emulator
  84. --------------------------------------------------------------------------------
  85.  
  86. PC Compatible Low-Memory Map                                PGS -- Page   2
  87.  
  88. Interrupt Vectors (0000-003F)
  89. -----------------------------
  90.  
  91. Addr  Int  Function
  92. --------------------------------------------------------------------------------
  93. 00E0  38h  Turbo-C Floating-Point Emulator
  94. 00E4  39h  Turbo-C Floating-Point Emulator
  95. 00E8  3Ah  Turbo-C Floating-Point Emulator
  96. 00EC  3Bh  Turbo-C Floating-Point Emulator
  97. 00F0  3Ch  Turbo-C Floating-Point Emulator
  98. 00F4  3Dh  Turbo-C Floating-Point Emulator
  99. 00F8  3Eh  Turbo-C Floating-Point Emulator
  100. 00FC  3Fh  MS-LINK overlay manager
  101. --------------------------------------------------------------------------------
  102. 0100  40h  BIOS (DISK) Floppy-disk handler (relocated INT 13h)
  103. 0104  41h  BIOS (DISK) Primary Fixed-Disk parameters
  104. 0108  42h  BIOS (EGA) Video handler (relocated INT 10h)
  105. 010C  43h  BIOS (EGA) Initialization parameters
  106. 0110  44h  BIOS (EGA) Fonts
  107. 0114  45h  BIOS Reserved
  108. 0118  46h  BIOS (DISK) Secondary Fixed-Disk parameters
  109. 011C  47h  BIOS Reserved (IRET)
  110. --------------------------------------------------------------------------------
  111. 0120  48h  BIOS Reserved (IRET)
  112. 0124  49h  BIOS Reserved (IRET)
  113. 0128  4Ah  BIOS (AT) Real Time Clock Alarm (IRET)
  114. 012C  4Bh  BIOS Reserved (IRET)
  115. 0130  4Ch  BIOS Reserved (IRET)
  116. 0134  4Dh  BIOS Reserved (IRET)
  117. 0138  4Eh  BIOS Reserved (IRET)
  118. 013C  4Fh  BIOS Reserved (IRET)
  119. --------------------------------------------------------------------------------
  120. 0140  50h  BIOS (AT) Real Time Clock (IRET)
  121. 0144  51h  BIOS Reserved (IRET)
  122. 0148  52h  BIOS Reserved (IRET)
  123. 014C  53h  BIOS Reserved (IRET)
  124. 0150  54h  BIOS Reserved (IRET)
  125. 0154  55h  BIOS Reserved (IRET)
  126. 0158  56h  BIOS Reserved (IRET)
  127. 015C  57h  BIOS Reserved (IRET)
  128. --------------------------------------------------------------------------------
  129. 0160  58h  BIOS Reserved (IRET)
  130. 0164  59h  BIOS Reserved (IRET)
  131. 0168  5Ah  BIOS Reserved (IRET)
  132. 016C  5Bh  BIOS Reserved (IRET)
  133. 0170  5Ch  BIOS Reserved (IRET)
  134. 0174  5Dh  BIOS Reserved (IRET)
  135. 0178  5Eh  BIOS Reserved (IRET)
  136. 017C  5Fh  BIOS Reserved (IRET)
  137. --------------------------------------------------------------------------------
  138. 0180  60h  User programs (NULL)
  139. 0184  61h  User programs (NULL)
  140. 0188  62h  User programs (NULL)
  141. 018C  63h  User programs (NULL)
  142. 0190  64h  User programs (NULL)
  143. 0194  65h  User programs (NULL)
  144. 0198  66h  User programs (NULL)
  145. 019C  67h  LIM EMS (User programs)
  146. --------------------------------------------------------------------------------
  147. 01A0  68h  Not used (IRET)
  148. 01A4  69h  Not used (IRET)
  149. 01A8  6Ah  Not used (IRET)
  150. 01AC  6Bh  Not used (IRET)
  151. 01B0  6Ch  Not used (IRET)
  152. 01B4  6Dh  Not used (IRET)
  153. 01B8  6Eh  Not used (IRET)
  154. 01BC  6Fh  Not used (IRET)
  155. --------------------------------------------------------------------------------
  156.  
  157. PC Compatible Low-Memory Map                                PGS -- Page   3
  158.  
  159. Interrupt Vectors (0000-003F)
  160. -----------------------------
  161.  
  162. Addr  Int  Function
  163. --------------------------------------------------------------------------------
  164. 01C0  70h  BIOS (AT) IRQ_9  Redirect
  165. 01C4  71h  BIOS (AT) IRQ_10 Redirect
  166. 01C8  72h  BIOS (AT) IRQ_11 Redirect
  167. 01CC  73h  BIOS (AT) IRQ_12 Redirect
  168. 01D0  74h  BIOS (AT) IRQ_13 Redirect
  169. 01D4  75h  BIOS (AT) IRQ_14 Redirect
  170. 01D8  76h  BIOS (AT) INT_87 Redirect
  171. 01DC  77h  BIOS (AT) IRQ_15 Redirect
  172. --------------------------------------------------------------------------------
  173. 01E0  78h  Not Used (NULL)
  174. 01E4  79h  Not Used (NULL)
  175. 01E8  7Ah  Not Used (NULL)
  176. 01EC  7Bh  Not Used (NULL)
  177. 01F0  7Ch  Not Used (NULL)
  178. 01F4  7Dh  Not Used (NULL)
  179. 01F8  7Eh  Not Used (NULL)
  180. 01FC  7Fh  Not Used (NULL)
  181. --------------------------------------------------------------------------------
  182. 0200  80h  BASIC while in interpreter
  183.  ...
  184. 03C0  F0h  BASIC while in interpreter
  185. --------------------------------------------------------------------------------
  186. 03C4  F1h  User Interrupt (NULL)
  187. 03C8  F2h  User Interrupt (NULL)
  188. 03CC  F3h  User Interrupt (NULL)
  189. 03D0  F4h  User Interrupt (NULL)
  190. 03D4  F5h  User Interrupt (NULL)
  191. 03D8  F6h  User Interrupt (NULL)
  192. 03DC  F7h  User Interrupt (NULL)
  193. 03FC  F8h  User Interrupt (NULL)
  194. 03E0  F8h  User Interrupt (NULL)
  195. 03E4  F9h  User Interrupt (NULL)
  196. 03E8  FAh  User Interrupt (NULL)
  197. 03EC  FBh  User Interrupt (NULL)
  198. 03F0  FCh  User Interrupt (NULL)
  199. 03F4  FDh  User Interrupt (NULL)
  200. 03F8  FEh  User Interrupt (NULL) Destroyed on AT in protected mode (Ext. Memory)
  201. 03FC  FFh  User Interrupt (NULL) Destroyed on AT in protected mode (Ext. Memory)
  202. --------------------------------------------------------------------------------
  203.  
  204. PC Compatible Low-Memory Map                                PGS -- Page   4
  205.  
  206. ROM BIOS Data Area Map (0400-04EF)
  207. ----------------------------------
  208.  
  209. Addr | Ln | Function
  210. -----+----+---------------------------------------------------------------------
  211. 0400 | 08 | COM1, COM2, COM3, COM4 Base I/O-addresses
  212. -----+----+---------------------------------------------------------------------
  213. 0408 | 08 | LPT1, LPT2, LPT3, LPT4 Base I/O-addresses
  214. -----+----+---------------------------------------------------------------------
  215. 0410 | 02 | EQUIPMENT Flags           76543210 76543210
  216.     |    |   # printers         C0  xx...... ........
  217.     |    |   Serial printer        20  ..x..... ........
  218.     |    |   Game adapter        10  ...x.... ........
  219.     |    |   # Serial ports        0E  ....xxx. ........
  220.     |    |   No DMA            01  .......x ........
  221.     |    |   # Diskette drives   C0  ........ xx...... (00=1, 01=2, 10=3, 11=4)
  222.     |    |   Initial video mode  30  ........ ..xx.... (10=Co80, 11=Mono)
  223.     |    |   Not used            0C  ........ ....xx..
  224.     |    |   Math coprocessor    02  ........ ......x.
  225.     |    |   Disk drives present 01  ........ .......x
  226. -----+----+---------------------------------------------------------------------
  227. 0412 | 01 | BOOT flags
  228. -----+----+---------------------------------------------------------------------
  229. 0413 | 02 | RAM Installed (kb)
  230. -----+----+---------------------------------------------------------------------
  231. 0415 | 02 | BOOT error flags
  232. -----+----+---------------------------------------------------------------------
  233. 0417 | 02 | KEYBOARD Status           76543210 76543210
  234.     |    |   Insert            80  x....... ........
  235.     |    |   Caps Lock            40  .x...... ........
  236.     |    |   Num Lock            20  ..x..... ........
  237.     |    |   Scroll Lock        10  ...x.... ........
  238.     |    |   Alt shift            08  ....x... ........
  239.     |    |   Ctrl shift         04  .....x.. ........
  240.     |    |   Shift (left)        02  ......x. ........
  241.     |    |   Shift (right)        01  .......x ........
  242.     |    |   Insert            80  ........ x.......
  243.     |    |   Caps Lock            40  ........ .x......
  244.     |    |   Num Lock            20  ........ ..x.....
  245.     |    |   Scroll Lock        10  ........ ...x....
  246.     |    |   Ctrl Num Lock        08  ........ ....x... (hold state)
  247.     |    |   Not used            04  ........ .....xxx
  248. -----+----+---------------------------------------------------------------------
  249. 0419 | 01 | KEYBOARD Alternate (reserved)
  250. -----+----+---------------------------------------------------------------------
  251. 041A | 02 | KEYBOARD Buffer Head
  252. 041C | 02 | KEYBOARD Buffer Tail
  253. 041E | 20 | KEYBOARD 16-key Circular Buffer
  254. -----+----+---------------------------------------------------------------------
  255. 043E | 01 | DISKETTE Recalibrate bits 0-3
  256. 043F | 01 | DISKETTE Motor bits 0-3
  257. 0440 | 01 | DISKETTE Motor count
  258. 0441 | 01 | DISKETTE Error status
  259. 0442 | 07 | DISKETTE Controller status
  260. -----+----+---------------------------------------------------------------------
  261. 0449 | 01 | VIDEO CGA/MDA display mode                    Pages  Chars  Pixels
  262.     |    |   00 = CGA  2-color (EGA 16-color) A/N text     8     40x25  320x200
  263.     |    |   01 = CGA 16-color A/N text                 8     40x25  320x200
  264.     |    |   02 = CGA  2-color (EGA 16-color) A/N text    4/8     80x25  640x200
  265.     |    |   03 = CGA 16-color A/N text                4/8     80x25  640x200
  266.     |    |   04 = CGA  4-color graphics                 1     40x25  320x200
  267.     |    |   05 = CGA  2-color (EGA  4-color) graphics     1     40x25  320x200
  268.     |    |   06 = CGA  2-color graphics                 1     80x25  640x200
  269.     |    |   07 = MDA  2-color (EGA  4-color) graphics     4     80x25  720x350
  270.     |    |   08 = CGA  16-color graphics (undocumented)     ?           160x200
  271.     |    |   09 = CGA  16-color graphics (undocumented)     ?           320x200
  272.     |    |   0A = PC-JR
  273.     |    |   0B
  274.     |    |   0C
  275.     |    |   0D
  276.     |    |   0E
  277.     |    |   0F
  278. -----+----+---------------------------------------------------------------------
  279.  
  280. PC Compatible Low-Memory Map                                PGS -- Page   5
  281.  
  282. ROM BIOS Data Area Map (0400-04EF)
  283. ----------------------------------
  284.  
  285. Addr | Ln | Function
  286. -----+----+---------------------------------------------------------------------
  287. 0449 | 01 | VIDEO EGA display modes -           CRT  Seg   Pages  Chars  Pixels
  288.     |    |   00 = 16/64-color 8x14 text       EGA  B800     8     40x25  320x350
  289.     |    |   01 = 16/64-color 8x14 text       EGA  B800     8     40x25  320x350
  290.     |    |   02 = 16/64-color 8x14 text       EGA  B800    4/8     80x25  640x350
  291.     |    |   03 = 16/64-color 8x14 text       EGA  B800    4/8     80x25  640x350
  292.     |    |   04 = 4-color graphics           CGA  B800     1     40x25  320x200
  293.     |    |   05 = 4-color graphics           CGA  B800     1     40x25  320x200
  294.     |    |   06 = 2-color graphics           CGA  B800     1     80x25  640x200
  295.     |    |   07 = 4-shade mono 9x14 text       MDA  B000    4/8     80x25  720x350
  296.     |    |   08
  297.     |    |   09
  298.     |    |   0A = 4/16 or 16/64-color graphics EGA  A000    1/2     80x25  640x350
  299.     |    |   0B
  300.     |    |   0C
  301.     |    |   0D = 16-color graphics           CGA  A000  2/4/8  40x25  320x200
  302.     |    |   0E = 16-color graphics           CGA  A000  1/2/4  80x25  640x200
  303.     |    |   0F = 4-shade mono graphics       MDA  A000    1/2     80x25  640x350
  304.     |    |   10 = 16/64-color graphics        EGA  A000  2/4/8  80x25  640x350
  305. -----+----+---------------------------------------------------------------------
  306. 044A | 02 | VIDEO Screen-width in columns
  307. 044C | 02 | VIDEO Screen regeneration-length
  308. 044E | 02 | VIDEO Screen location offset (current page)
  309. 0450 | 10 | VIDEO Screen page 0-7 cursor locations as col:row bytes
  310. 0460 | 02 | VIDEO Screen cursor start:end row bytes
  311. 0462 | 01 | VIDEO Current screen page
  312. 0463 | 02 | VIDEO Video-controller port-address
  313. 0465 | 01 | VIDEO Current CRT mode
  314. 0466 | 01 | VIDEO Color-palette mask
  315. -----+----+---------------------------------------------------------------------
  316. 0467 | 05 | BOOT Work area
  317. -----+----+---------------------------------------------------------------------
  318. 046C | 04 | CLOCK Master-count DWORD
  319. 0470 | 01 | CLOCK Roll-over flag
  320. -----+----+---------------------------------------------------------------------
  321. 0471 | 01 | CTRL-BREAK flag (bit 7)
  322. -----+----+---------------------------------------------------------------------
  323. 0472 | 02 | KEYBOARD Reset (1234) on Ctrl-Alt-Del
  324. -----+----+---------------------------------------------------------------------
  325. 0474 | 01 | 286 Fixed disk status
  326. 0475 | 01 | 286 Fixed disk drive number
  327. 0476 | 01 | 286 Fixed disk control byte
  328. 0477 | 01 | 286 Fixed disk port offset
  329. -----+----+---------------------------------------------------------------------
  330. 0478 | 05 | 286 Parallel-port timeout
  331. 047C | 05 | 286 Serial-port timeout
  332. -----+----+---------------------------------------------------------------------
  333. 0480 | 04 | 286 Additional keyboard buffer
  334. -----+----+---------------------------------------------------------------------
  335. 0484 | 01 | VIDEO EGA Screen rows
  336. 0485 | 02 | VIDEO EGA Bytes per character
  337. 0487 | 02 | VIDEO EGA Information        76543210 76543210
  338.     |    |   Clear/not-clear regen 80 x....... ........
  339.     |    |   Onboard RAM         60 .xx..... ........ 00=064k, 01=128k,
  340.     |    |   Enhanced Keyboard     10 ...x.... ........ 10=192k, 11=256k
  341.     |    |   Not active monitor     08 ....x... ........
  342.     |    |   Wait for enable      04 .....x.. ........
  343.     |    |   Monochrome attached     02 ......x. ........
  344.     |    |   Not emulate active     01 .......x ........
  345.     |    |   Feature bits         F0 ........ xxxx....
  346.     |    |   Switch settings      0F ........ ....xxxx
  347. -----+----+---------------------------------------------------------------------
  348. 0489 | 03 | Reserved
  349. -----+----+---------------------------------------------------------------------
  350. 048B | 01 | 286 Last diskette data rate selected
  351. -----+----+---------------------------------------------------------------------
  352.  
  353. PC Compatible Low-Memory Map                                PGS -- Page   6
  354.  
  355. ROM BIOS Data Area Map (0400-04EF)
  356. ----------------------------------
  357.  
  358. Addr | Ln | Function
  359. -----+----+---------------------------------------------------------------------
  360. 048C | 01 | 286 Fixed-disk status-register
  361. 048D | 01 | 286 Fixed-disk error-register
  362. 048E | 01 | 286 Fixed-disk interrupt-flag
  363. -----+----+---------------------------------------------------------------------
  364. 048F | 01 | 286 Fixed-disk/diskette combination controller flag
  365. -----+----+---------------------------------------------------------------------
  366. 0490 | 01 | 286 Diskette drive 0 media state
  367. 0491 | 01 | 286 Diskette drive 1 media state
  368. 0492 | 01 | 286 Diskette drive 0 operation start state
  369. 0493 | 01 | 286 Diskette drive 1 operation start state
  370. 0494 | 01 | 286 Diskette drive 0 present cylinder
  371. 0495 | 01 | 286 Diskette drive 1 present cylinder
  372. -----+----+---------------------------------------------------------------------
  373. 0496 | 01 | 286 Reserved
  374. -----+----+---------------------------------------------------------------------
  375. 0497 | 01 | 286 Additional keyboard LED flag
  376. -----+----+---------------------------------------------------------------------
  377. 0498 | 04 | 286 Real-time-clock user wait flag offset:segment
  378. 049C | 04 | 286 Real-time-clock user wait flag
  379. 04A0 | 02 | 286 Real-time-clock wait-active flag
  380. -----+----+---------------------------------------------------------------------
  381. 04A2 | 06 | Reserved
  382. -----+----+---------------------------------------------------------------------
  383. 04A8 | 04 | EGA DWORD pointer-save
  384. -----+----+---------------------------------------------------------------------
  385. 04AC | 44 | Reserved
  386. -----+----+---------------------------------------------------------------------
  387.  
  388. Interapplication Control Area (ICA) (04F0 - 04FF)
  389. -----------------------------
  390.  
  391. DOS / ROM BASIC Control Area (0500 - 05FF)
  392. ----------------------------
  393. Addr | Ln | Function
  394. -----+----+---------------------------------------------------------------------
  395. 0500 | 01 | DOS Print-screen control (00 = Ok, 01 = in process, FF = error)
  396. -----+----+---------------------------------------------------------------------
  397. 0501 | 03 |
  398. -----+----+---------------------------------------------------------------------
  399. 0504 | 01 | DOS Single-diskette drive code (00 = drive A, 01 = drive B)
  400. -----+----+---------------------------------------------------------------------
  401. 0505 | 0B |
  402. -----+----+---------------------------------------------------------------------
  403. 0510 | 02 | BASIC default data segment
  404. 0512 | 04 | BASIC clock-tick interrupt-vector
  405. 0516 | 04 | BASIC break-key interrupt-vector
  406. 051A | 04 | BASIC diskette-error interrupt-vector
  407. 051E | E2 | BASIC Reserved
  408. -----+----+---------------------------------------------------------------------
  409.