Dec 092017
 
Low memory map.
File LOWMEM.ZIP from The Programmer’s Corner in
Category Tutorials + Patches
Low memory map.
File Name File Size Zip Size Zip Type
LOWMEM.TXT 18605 4188 deflated

Download File LOWMEM.ZIP Here

Contents of the LOWMEM.TXT file


NOTE: The following tables were compiled by:
Michael L. Mohle'Princeton-Galax Systems
9 Grover AvePrinceton, NJ 08540
(609) 924-4149 (evenings)
CIS: 76340,650Source: BEA751

No claims of accuracy are made. The sources are many, including IBM and other
manufacturer documentation, numerous books, other compilations of a similar
nature, and a number of years working with PC-class machines. If you find any
errors or have anything to add, please let me know. My goal is to provide a
good reference tool. -- MLM

*** CONTENTS OF THIS FILE ARE HEREBY RELEASED TO THE PUBLIC DOMAIN ***

PC Compatible Low-Memory MapPGS -- Page 1

Interrupt Vectors (0000-003F)
-----------------------------

Addr Int Function
--------------------------------------------------------------------------------
0000 00h CHIP Divide by zero
0004 01h CHIP Single-step
0008 02h CHIP NMI (Non-Maskable-Interrupt)
000C 03h CHIP Breakpoint (1-byte-Interrupt)
0010 04h CHIP Overflow on INTO
0014 05h BIOS Print-screen Key | 286 Bound-Check-Failed
0018 06h 286 Undefined Opcode
001C 07h 286 No math unit available
--------------------------------------------------------------------------------
0020 08h BIOS IRQ_0 Time of day(Vectored Hardware Line)
0024 09h BIOS IRQ_1 Keyboard(Vectored Hardware Line)
0028 0Ah BIOS IRQ_2 Reserved(Vectored Hardware Line)
002C 0Bh BIOS IRQ_3 Serial port(Vectored Hardware Line)
0030 0Ch BIOS IRQ_4 Serial port(Vectored Hardware Line)
0034 0Dh BIOS IRQ_5 Alt. printer (Vectored Hardware Line)
0038 0Eh BIOS IRQ_6 Diskette(Vectored Hardware Line)
003C 0Fh BIOS IRQ_7 Printer (Vectored Hardware Line)
--------------------------------------------------------------------------------
0040 10h BIOS Video
0044 11h BIOS Equipment check
0048 12h BIOS Memory size
004C 13h BIOS Diskette
0050 14h BIOS Serial communications
0054 15h BIOS Cassette, 286 extended I/O
0058 16h BIOS Keyboard
005C 17h BIOS Printer
--------------------------------------------------------------------------------
0060 18h BIOS ROM BASIC entry
0064 19h BIOS Bootstrap
0068 1Ah BIOS Time of day
006C 1Bh BIOS Keyboard-break
0070 1Ch BIOS Timer-tick
0074 1Dh BIOS Video initialization
0078 1Eh BIOS Floppy parameters
007C 1Fh BIOS Graphics Chars (EGA)
--------------------------------------------------------------------------------
0080 20h DOS Program termination
0084 21h DOS Function Calls
0088 22h DOS Terminate Address
008C 23h DOS Ctrl-break Exit
0090 24h DOS Critical Error Handler
0094 25h DOS Absolute sector read
0098 26h DOS Absolute sector write
009C 27h DOS Terminate, stay resident
--------------------------------------------------------------------------------
00A0 28h DOS Internal KEYBOARD_BUSY_LOOP
00A4 29h DOS Internal FAST_PUTCHAR
00A8 2Ah DOS Internal (IRET)
00AC 2Bh DOS Internal (IRET)
00B0 2Ch DOS Internal (IRET)
00B4 2Dh DOS Internal (IRET)
00B8 2Eh DOS Internal EXECUTE-COMMAND
00BC 2Fh DOS Multiplex
--------------------------------------------------------------------------------
00C0 30h DOS Internal (Not a vector! - FAR JMP for CP/M-style calls)
00C4 31h DOS Internal
00C8 32h DOS Reserved (IRET)
00CC 33h Microsoft Mouse
00D0 34h Turbo-C Floating-Point Emulator
00D4 35h Turbo-C Floating-Point Emulator
00D8 36h Turbo-C Floating-Point Emulator
00DC 37h Turbo-C Floating-Point Emulator
--------------------------------------------------------------------------------

PC Compatible Low-Memory MapPGS -- Page 2

Interrupt Vectors (0000-003F)
-----------------------------

Addr Int Function
--------------------------------------------------------------------------------
00E0 38h Turbo-C Floating-Point Emulator
00E4 39h Turbo-C Floating-Point Emulator
00E8 3Ah Turbo-C Floating-Point Emulator
00EC 3Bh Turbo-C Floating-Point Emulator
00F0 3Ch Turbo-C Floating-Point Emulator
00F4 3Dh Turbo-C Floating-Point Emulator
00F8 3Eh Turbo-C Floating-Point Emulator
00FC 3Fh MS-LINK overlay manager
--------------------------------------------------------------------------------
0100 40h BIOS (DISK) Floppy-disk handler (relocated INT 13h)
0104 41h BIOS (DISK) Primary Fixed-Disk parameters
0108 42h BIOS (EGA) Video handler (relocated INT 10h)
010C 43h BIOS (EGA) Initialization parameters
0110 44h BIOS (EGA) Fonts
0114 45h BIOS Reserved
0118 46h BIOS (DISK) Secondary Fixed-Disk parameters
011C 47h BIOS Reserved (IRET)
--------------------------------------------------------------------------------
0120 48h BIOS Reserved (IRET)
0124 49h BIOS Reserved (IRET)
0128 4Ah BIOS (AT) Real Time Clock Alarm (IRET)
012C 4Bh BIOS Reserved (IRET)
0130 4Ch BIOS Reserved (IRET)
0134 4Dh BIOS Reserved (IRET)
0138 4Eh BIOS Reserved (IRET)
013C 4Fh BIOS Reserved (IRET)
--------------------------------------------------------------------------------
0140 50h BIOS (AT) Real Time Clock (IRET)
0144 51h BIOS Reserved (IRET)
0148 52h BIOS Reserved (IRET)
014C 53h BIOS Reserved (IRET)
0150 54h BIOS Reserved (IRET)
0154 55h BIOS Reserved (IRET)
0158 56h BIOS Reserved (IRET)
015C 57h BIOS Reserved (IRET)
--------------------------------------------------------------------------------
0160 58h BIOS Reserved (IRET)
0164 59h BIOS Reserved (IRET)
0168 5Ah BIOS Reserved (IRET)
016C 5Bh BIOS Reserved (IRET)
0170 5Ch BIOS Reserved (IRET)
0174 5Dh BIOS Reserved (IRET)
0178 5Eh BIOS Reserved (IRET)
017C 5Fh BIOS Reserved (IRET)
--------------------------------------------------------------------------------
0180 60h User programs (NULL)
0184 61h User programs (NULL)
0188 62h User programs (NULL)
018C 63h User programs (NULL)
0190 64h User programs (NULL)
0194 65h User programs (NULL)
0198 66h User programs (NULL)
019C 67h LIM EMS (User programs)
--------------------------------------------------------------------------------
01A0 68h Not used (IRET)
01A4 69h Not used (IRET)
01A8 6Ah Not used (IRET)
01AC 6Bh Not used (IRET)
01B0 6Ch Not used (IRET)
01B4 6Dh Not used (IRET)
01B8 6Eh Not used (IRET)
01BC 6Fh Not used (IRET)
--------------------------------------------------------------------------------

PC Compatible Low-Memory MapPGS -- Page 3

Interrupt Vectors (0000-003F)
-----------------------------

Addr Int Function
--------------------------------------------------------------------------------
01C0 70h BIOS (AT) IRQ_9 Redirect
01C4 71h BIOS (AT) IRQ_10 Redirect
01C8 72h BIOS (AT) IRQ_11 Redirect
01CC 73h BIOS (AT) IRQ_12 Redirect
01D0 74h BIOS (AT) IRQ_13 Redirect
01D4 75h BIOS (AT) IRQ_14 Redirect
01D8 76h BIOS (AT) INT_87 Redirect
01DC 77h BIOS (AT) IRQ_15 Redirect
--------------------------------------------------------------------------------
01E0 78h Not Used (NULL)
01E4 79h Not Used (NULL)
01E8 7Ah Not Used (NULL)
01EC 7Bh Not Used (NULL)
01F0 7Ch Not Used (NULL)
01F4 7Dh Not Used (NULL)
01F8 7Eh Not Used (NULL)
01FC 7Fh Not Used (NULL)
--------------------------------------------------------------------------------
0200 80h BASIC while in interpreter
...
03C0 F0h BASIC while in interpreter
--------------------------------------------------------------------------------
03C4 F1h User Interrupt (NULL)
03C8 F2h User Interrupt (NULL)
03CC F3h User Interrupt (NULL)
03D0 F4h User Interrupt (NULL)
03D4 F5h User Interrupt (NULL)
03D8 F6h User Interrupt (NULL)
03DC F7h User Interrupt (NULL)
03FC F8h User Interrupt (NULL)
03E0 F8h User Interrupt (NULL)
03E4 F9h User Interrupt (NULL)
03E8 FAh User Interrupt (NULL)
03EC FBh User Interrupt (NULL)
03F0 FCh User Interrupt (NULL)
03F4 FDh User Interrupt (NULL)
03F8 FEh User Interrupt (NULL) Destroyed on AT in protected mode (Ext. Memory)
03FC FFh User Interrupt (NULL) Destroyed on AT in protected mode (Ext. Memory)
--------------------------------------------------------------------------------

PC Compatible Low-Memory MapPGS -- Page 4

ROM BIOS Data Area Map (0400-04EF)
----------------------------------

Addr | Ln | Function
-----+----+---------------------------------------------------------------------
0400 | 08 | COM1, COM2, COM3, COM4 Base I/O-addresses
-----+----+---------------------------------------------------------------------
0408 | 08 | LPT1, LPT2, LPT3, LPT4 Base I/O-addresses
-----+----+---------------------------------------------------------------------
0410 | 02 | EQUIPMENT Flags 76543210 76543210
|| # printers C0 xx...... ........
|| Serial printer 20 ..x..... ........
|| Game adapter 10 ...x.... ........
|| # Serial ports 0E ....xxx. ........
|| No DMA 01 .......x ........
|| # Diskette drives C0 ........ xx...... (00=1, 01=2, 10=3, 11=4)
|| Initial video mode 30 ........ ..xx.... (10=Co80, 11=Mono)
|| Not used 0C ........ ....xx..
|| Math coprocessor 02 ........ ......x.
|| Disk drives present 01 ........ .......x
-----+----+---------------------------------------------------------------------
0412 | 01 | BOOT flags
-----+----+---------------------------------------------------------------------
0413 | 02 | RAM Installed (kb)
-----+----+---------------------------------------------------------------------
0415 | 02 | BOOT error flags
-----+----+---------------------------------------------------------------------
0417 | 02 | KEYBOARD Status 76543210 76543210
|| Insert 80 x....... ........
|| Caps Lock 40 .x...... ........
|| Num Lock 20 ..x..... ........
|| Scroll Lock 10 ...x.... ........
|| Alt shift 08 ....x... ........
|| Ctrl shift 04 .....x.. ........
|| Shift (left) 02 ......x. ........
|| Shift (right) 01 .......x ........
|| Insert 80 ........ x.......
|| Caps Lock 40 ........ .x......
|| Num Lock 20 ........ ..x.....
|| Scroll Lock 10 ........ ...x....
|| Ctrl Num Lock 08 ........ ....x... (hold state)
|| Not used 04 ........ .....xxx
-----+----+---------------------------------------------------------------------
0419 | 01 | KEYBOARD Alternate (reserved)
-----+----+---------------------------------------------------------------------
041A | 02 | KEYBOARD Buffer Head
041C | 02 | KEYBOARD Buffer Tail
041E | 20 | KEYBOARD 16-key Circular Buffer
-----+----+---------------------------------------------------------------------
043E | 01 | DISKETTE Recalibrate bits 0-3
043F | 01 | DISKETTE Motor bits 0-3
0440 | 01 | DISKETTE Motor count
0441 | 01 | DISKETTE Error status
0442 | 07 | DISKETTE Controller status
-----+----+---------------------------------------------------------------------
0449 | 01 | VIDEO CGA/MDA display mode Pages Chars Pixels
|| 00 = CGA 2-color (EGA 16-color) A/N text 8 40x25 320x200
|| 01 = CGA 16-color A/N text 8 40x25 320x200
|| 02 = CGA 2-color (EGA 16-color) A/N text4/8 80x25 640x200
|| 03 = CGA 16-color A/N text4/8 80x25 640x200
|| 04 = CGA 4-color graphics 1 40x25 320x200
|| 05 = CGA 2-color (EGA 4-color) graphics 1 40x25 320x200
|| 06 = CGA 2-color graphics 1 80x25 640x200
|| 07 = MDA 2-color (EGA 4-color) graphics 4 80x25 720x350
|| 08 = CGA 16-color graphics (undocumented) ? 160x200
|| 09 = CGA 16-color graphics (undocumented) ? 320x200
|| 0A = PC-JR
|| 0B
|| 0C
|| 0D
|| 0E
|| 0F
-----+----+---------------------------------------------------------------------

PC Compatible Low-Memory MapPGS -- Page 5

ROM BIOS Data Area Map (0400-04EF)
----------------------------------

Addr | Ln | Function
-----+----+---------------------------------------------------------------------
0449 | 01 | VIDEO EGA display modes - CRT Seg Pages Chars Pixels
|| 00 = 16/64-color 8x14 text EGA B800 8 40x25 320x350
|| 01 = 16/64-color 8x14 text EGA B800 8 40x25 320x350
|| 02 = 16/64-color 8x14 text EGA B8004/8 80x25 640x350
|| 03 = 16/64-color 8x14 text EGA B8004/8 80x25 640x350
|| 04 = 4-color graphics CGA B800 1 40x25 320x200
|| 05 = 4-color graphics CGA B800 1 40x25 320x200
|| 06 = 2-color graphics CGA B800 1 80x25 640x200
|| 07 = 4-shade mono 9x14 text MDA B0004/8 80x25 720x350
|| 08
|| 09
|| 0A = 4/16 or 16/64-color graphics EGA A0001/2 80x25 640x350
|| 0B
|| 0C
|| 0D = 16-color graphics CGA A000 2/4/8 40x25 320x200
|| 0E = 16-color graphics CGA A000 1/2/4 80x25 640x200
|| 0F = 4-shade mono graphics MDA A0001/2 80x25 640x350
|| 10 = 16/64-color graphics EGA A000 2/4/8 80x25 640x350
-----+----+---------------------------------------------------------------------
044A | 02 | VIDEO Screen-width in columns
044C | 02 | VIDEO Screen regeneration-length
044E | 02 | VIDEO Screen location offset (current page)
0450 | 10 | VIDEO Screen page 0-7 cursor locations as col:row bytes
0460 | 02 | VIDEO Screen cursor start:end row bytes
0462 | 01 | VIDEO Current screen page
0463 | 02 | VIDEO Video-controller port-address
0465 | 01 | VIDEO Current CRT mode
0466 | 01 | VIDEO Color-palette mask
-----+----+---------------------------------------------------------------------
0467 | 05 | BOOT Work area
-----+----+---------------------------------------------------------------------
046C | 04 | CLOCK Master-count DWORD
0470 | 01 | CLOCK Roll-over flag
-----+----+---------------------------------------------------------------------
0471 | 01 | CTRL-BREAK flag (bit 7)
-----+----+---------------------------------------------------------------------
0472 | 02 | KEYBOARD Reset (1234) on Ctrl-Alt-Del
-----+----+---------------------------------------------------------------------
0474 | 01 | 286 Fixed disk status
0475 | 01 | 286 Fixed disk drive number
0476 | 01 | 286 Fixed disk control byte
0477 | 01 | 286 Fixed disk port offset
-----+----+---------------------------------------------------------------------
0478 | 05 | 286 Parallel-port timeout
047C | 05 | 286 Serial-port timeout
-----+----+---------------------------------------------------------------------
0480 | 04 | 286 Additional keyboard buffer
-----+----+---------------------------------------------------------------------
0484 | 01 | VIDEO EGA Screen rows
0485 | 02 | VIDEO EGA Bytes per character
0487 | 02 | VIDEO EGA Information 76543210 76543210
|| Clear/not-clear regen 80 x....... ........
|| Onboard RAM 60 .xx..... ........ 00=064k, 01=128k,
|| Enhanced Keyboard 10 ...x.... ........ 10=192k, 11=256k
|| Not active monitor 08 ....x... ........
|| Wait for enable 04 .....x.. ........
|| Monochrome attached 02 ......x. ........
|| Not emulate active 01 .......x ........
|| Feature bits F0 ........ xxxx....
|| Switch settings 0F ........ ....xxxx
-----+----+---------------------------------------------------------------------
0489 | 03 | Reserved
-----+----+---------------------------------------------------------------------
048B | 01 | 286 Last diskette data rate selected
-----+----+---------------------------------------------------------------------

PC Compatible Low-Memory MapPGS -- Page 6

ROM BIOS Data Area Map (0400-04EF)
----------------------------------

Addr | Ln | Function
-----+----+---------------------------------------------------------------------
048C | 01 | 286 Fixed-disk status-register
048D | 01 | 286 Fixed-disk error-register
048E | 01 | 286 Fixed-disk interrupt-flag
-----+----+---------------------------------------------------------------------
048F | 01 | 286 Fixed-disk/diskette combination controller flag
-----+----+---------------------------------------------------------------------
0490 | 01 | 286 Diskette drive 0 media state
0491 | 01 | 286 Diskette drive 1 media state
0492 | 01 | 286 Diskette drive 0 operation start state
0493 | 01 | 286 Diskette drive 1 operation start state
0494 | 01 | 286 Diskette drive 0 present cylinder
0495 | 01 | 286 Diskette drive 1 present cylinder
-----+----+---------------------------------------------------------------------
0496 | 01 | 286 Reserved
-----+----+---------------------------------------------------------------------
0497 | 01 | 286 Additional keyboard LED flag
-----+----+---------------------------------------------------------------------
0498 | 04 | 286 Real-time-clock user wait flag offset:segment
049C | 04 | 286 Real-time-clock user wait flag
04A0 | 02 | 286 Real-time-clock wait-active flag
-----+----+---------------------------------------------------------------------
04A2 | 06 | Reserved
-----+----+---------------------------------------------------------------------
04A8 | 04 | EGA DWORD pointer-save
-----+----+---------------------------------------------------------------------
04AC | 44 | Reserved
-----+----+---------------------------------------------------------------------

Interapplication Control Area (ICA) (04F0 - 04FF)
-----------------------------

DOS / ROM BASIC Control Area (0500 - 05FF)
----------------------------
Addr | Ln | Function
-----+----+---------------------------------------------------------------------
0500 | 01 | DOS Print-screen control (00 = Ok, 01 = in process, FF = error)
-----+----+---------------------------------------------------------------------
0501 | 03 |
-----+----+---------------------------------------------------------------------
0504 | 01 | DOS Single-diskette drive code (00 = drive A, 01 = drive B)
-----+----+---------------------------------------------------------------------
0505 | 0B |
-----+----+---------------------------------------------------------------------
0510 | 02 | BASIC default data segment
0512 | 04 | BASIC clock-tick interrupt-vector
0516 | 04 | BASIC break-key interrupt-vector
051A | 04 | BASIC diskette-error interrupt-vector
051E | E2 | BASIC Reserved
-----+----+---------------------------------------------------------------------


 December 9, 2017  Add comments

Leave a Reply