The original PC assigned Ports 000-0FF to the motherboard and 200-3FF to peripherals. This distinction is no longer important, but is somewhat adhered to. Ports 100-1FF were write only in the original PC but became readable in most later machines.
Many Port addresses are fixed by convention at those used in the IBM PC, the PC XT or the PC AT. Others are restricted to certain address ranges set by jumpers or software. The following are some of the more common Port Assignments:
| Port | Device |
| entry1a | entry1b |
| 000-00F | DMA Controller |
| 010 | POST Checkpoint in PC (See Port 80) |
| 020-021 | Interrupt Controller |
| 022-023 | CPU and Chipset |
| 040-043 | Programmable Timer |
| 060-064 | Keyboard Controller and Misc functions incl PS/2 mouse |
| 071 | NMI Control - CMOS Access |
| 080 | POST Checkpoint in AT and above (See Port 10) |
| 081-083 | DMA Page Registers |
| 0A0 | NMI on PC/PC XT? |
| 0C2 | DMA Ch3 Device Select |
| 170-177 | Secondary IDE Controller |
| 1F0-1F7 | Primary IDE Controller |
| 201 | Gameport |
| 210-215 | Extender cards in original PC |
| 278-27F | LPT3 |
| 279 | ISA PNP |
| 2E8- | Some Video Cards (also 12E8, 22E8, etc) |
| 2E8-2EF | COM4 |
| 2F8-2FF | COM2 |
| 300 | EISA BIOS Checkpoint (Award) |
| 300-3?? | Default port address on many network cards |
| 320-330 | MFM/RLL Disk Controllers on PC/PC XT |
| 374 | IEEE 1149 Boundary Scan Test |
| 378-37F | LPT2 |
| 380-389 | SDLC2 Port (rare) |
| 380-38C | SDLC1 Port (rare) |
| 3A0-3A9 | Binary Synchronous Adapter (rare) |
| 3B0-3BB | Mono Video |
| 3BC-3BF | LPT1 |
| 3D0-3DC | CGA/EGA Video |
| 3E8-3EF | COM3 |
| 3F0-3F5 | Floppy Disk Controller |
| 3F8-3FF | COM1 |
| A79 | ISA PNP write only |
Several common peripherals such as Network cards and Sound Cards do not have fixed Port addresses and are configured by selecting from a list of possible base addresses. For example, many network cards allow a variety of addresses at 32 bit intervals e.g. 300, 320, 340, 360.
Return To Index Copyright 1994-2008 by Donald Kenney.