home *** CD-ROM | disk | FTP | other *** search
- NOTE: The following tables were compiled by:
- Michael L. Mohle' Princeton-Galax Systems
- 9 Grover Ave Princeton, NJ 08540
- (609) 924-4149 (evenings)
- CIS: 76340,650 Source: 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 Map PGS -- 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 Map PGS -- 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 Map PGS -- 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 Map PGS -- 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 text 4/8 80x25 640x200
- | | 03 = CGA 16-color A/N text 4/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 Map PGS -- 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 B800 4/8 80x25 640x350
- | | 03 = 16/64-color 8x14 text EGA B800 4/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 B000 4/8 80x25 720x350
- | | 08
- | | 09
- | | 0A = 4/16 or 16/64-color graphics EGA A000 1/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 A000 1/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 Map PGS -- 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
- -----+----+---------------------------------------------------------------------