PC PORT ASSIGNMENT, Intel 8088, 80C88, 8086, 80286, 80386 CPUs hex addr. Function 0000-000F 8237 DMA controller 0010-001F 8237 DMA controller (AT, PS/2) 0020-0027 8259A interrupt controller 0020-003F 8259A interrupt controller (AT) 0040-005F 8253-5 programmable timers (note: 0041 was memory refresh in PCs. Not used in PS/2) 0060-0067 8255 peripheral interface 0060-006F 8042 keyboard controller (AT) 0070 CMOS Configuation RAM address (AT) 0071 data 0200-020F game-control adapter 0210-0217 expansion box (PC, XT) 0278-027F LPT3 02F8-02FF COM2 0300-031F prototype card 0320-032F hard disk controller 0378-037F LPT2 03BC-03BF LPT1 03CE Paradise VGA 03D0-03DF CGA, MCGA, VGA adapter control 03F0-03F7 floppy disk controller 03F8-03FF COM1 note: These are functions common across the IBM range. The PCjr, PC Convertible and PS/2 (both buses) have enhancements. In some cases, the AT & PS/2 series ignore, duplicate, or reassign ports arbitrarily. If your code incorporates specific port addresses for video or system board control it would be wise to have your application determine the machine type and video adapter and address the ports as required. IBM PC Input/Output Port Summary Ref: PC Sourcebook, Page 396 Paragraph 7.03 I/O Port Usage Summary Range XT Use AT Use PS/2 Use Comments ------- ------------------------------ ------------------------------ ------------------------------ ------------------------------ 000-00F DMA Controller (8237A-5) DMA Controller (8237A-5) DMA Controller 010-01F UNDOCUMENTED RESERVED FOR SYSTEM BOARD DMA Controller 020-02F Interrupt controller (8259A) Interrupt controller 1 (8259A) Interrupt controller 1 (8259A) Only ports 20,21 actually used 030-03F UNDOCUMENTED Interrupt controller 1 (8259A) UNDOCUMENTED 040-04F Timer (8253-5) Timer (8254-2) System timers XT uses 40-43 only, PS/2 uses 40,42-44,47 only 050-05F Timer (8253-5) Timer (8254-2) UNDOCUMENTED 060-06F Parallel port (8255A-5) Keyboard (8042) Keyboard XT uses 60-63 only, PS/2 uses 60-61,64 only 070-07F UNDOCUMENTED RTC, NMI mask RTC, NMI mask PS/2 uses 70-71 only, reserves 74-76 080-08F DMA page registers DMA page registers (74LS612) DMA page registers XT uses 80-83 only, AT and PS/2 use 81-83,87,89-8B,8F only 090-09F DMA page registers DMA page registers I/O channel PS/2 uses 90-94,96-97 only 0A0-0AF NMI mask registers Interrupt controller 2 (8259A) Interrupt controller 2 (8259A) PS/2 uses A0-A1 only 0B0-0BF UNDOCUMENTED Interrupt controller 2 (8259A) UNDOCUMENTED 0C0-0CF RESERVED DMA controller 2 (8237A-5) DMA Controller 0D0-0DF UNDOCUMENTED DMA controller 2 (8237A-5) DMA Controller 0E0-0EF RESERVED RESERVED FOR SYSTEM BOARD UNDOCUMENTED 0F0-0FF UNDOCUMENTED Math coprocessor (80287) Math coprocessor (80x87) AT uses F0-F1,F8-FF only 100-10F UNDOCUMENTED AVAILABLE FOR IO CHANNEL Programmable option select PS/2 uses 100-107 only 110-1EF UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 1F0-1FF UNDOCUMENTED Fixed disk UNDOCUMENTED 200-20F Game I/O adapter Game I/O adapter UNDOCUMENTED Game IO uses 200-207 only 210-21F Expansion unit 21F RESERVED UNDOCUMENTED XT uses 210-207 only 220-24F RESERVED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 250-26F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 270-27F Parallel printer 2 Parallel printer 2 Parallel printer 3 All use 278-27F only execept PS/2 uses 278-27B 280-28F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 290-29F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 2A0-2AF UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 2B0-2BF Alternate EGA Alternate EGA UNDOCUMENTED 2C0-2CF Alternate EGA Alternate EGA UNDOCUMENTED 2D0-2DF Alternate EGA (3270 also uses) Alternate EGA UNDOCUMENTED 2E0-2EF UNDOCUMENTED GPIB 0,data acquisition 0 UNDOCUMENTED AT uses 2E1,2E2-2E3 only 2F0-2FF Secondary asynchronous adapter Serial port 2 Serial port 2 (RS-232-C) All use 2F8-2FF only 300-30F Prototype card Prototype card UNDOCUMENTED 310-31F Prototype card Prototype card UNDOCUMENTED 320-32F Fixed disk adapter AVAILABLE FOR IO CHANNEL UNDOCUMENTED 330-33F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 340-34F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 350-35F UNDOCUMENTED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 360-36F UNDOCUMENTED PC network (low address) UNDOCUMENTED 370-37F Parallel printer Parallel printer 1 Parallel printer 2 380-38F SDLC or second bisync control SDLC or second bisync control UNDOCUMENTED 390-39F UNDOCUMENTED Cluster adapter UNDOCUMENTED 3A0-3AF First bysinc controller First bisync controller UNDOCUMENTED 3B0-3BF Monochrome display adapter Monochrome display adapter Video subsystem,Parallel printer 1 3C0-3CF Enhanced graphics adapter Enhanced graphics adapter Video subsystem 3D0-3DF Color graphics adapter Color graphics adapter Video subsystem 3E0-3EF 3E0-3E7 RESERVED AVAILABLE FOR IO CHANNEL UNDOCUMENTED 3F0-3FF Floppy disk adapter, 1st async Floppy disk adapter, 1st async Diskette drive control,Serial All use 3F0-3F7 for disk, 3F8-3FF for async communications
Interested:
Questions: