Standard Ports
Home Up Feedback Contents Search

                          Common I/O Port Addresses                           

       Port addresses are not always constant across PC, AT and PS/2
       Unless marked, port addresses are relative to PC and XT only

       000-00F  8237 DMA controller
       000      Channel 0 address register
       001      Channel 0 word count
       002      Channel 1 address register
       003      Channel 1 word count
       004      Channel 2 address register
       005      Channel 2 word count
       006      Channel 3 address register
       007      Channel 3 word count
       008      Status/command register
       009      Request register
       00A      Mask register
       00B      Mode register
       00C      Clear MSB/LSB flip flop

       00D      Master clear temp register
       00E      Clear mask register
       00F      Multiple mask register

       010-01F  8237 DMA Controller (PS/2), reserved (AT)

       020-02F  8259A Programmable Interrupt Controller (all machines)
       030-03F  8259A Programmable Interrupt Controller (AT only)
       020      8259 Command port  (see 8259)
       021      8259 Interrupt mask register  (see 8259)

       040-05F  8253-5 Programmable Interval Timer (PIT, see 8253)
       040      8253 channel 0, counter divisor
       041      8253 channel 1, RAM refresh counter
       042      8253 channel 2, Cassette and speaker functions
       043      8253 mode control  (see 8253)

       060-06F  8042 Keyboard Controller  (AT)
       060-067  8255 Programmable Peripheral Interface
       060      Port A input (keyboard scan code) (PC1,PC2,XT) (output PCjr)
       061      Port B output (PC1,PC2,XT,PCjr)
       062      Port C input (PC1,PC2,XT,PCjr)
       063      Command/Mode control register

       070      Real Time Clock, CMOS config memory & NMI mask (AT,PS2)

       080      Manufacturer checkpoint port
       080-09F  DMA Page Registers
       081      High order 4 bits of DMA channel 2 address
       082      High order 4 bits of DMA channel 3 address
       083      High order 4 bits of DMA channel 1 address

       0A0      NMI Mask Register (PC,XT) (write 80h to enable NMI,
                00h disable)
       0A0-0BF  Second 8259 Programmable Interrupt Controller (AT, PS2)
       0A0      Second 8259 Command port  (see 8259)
       0A1      Second 8259 Interrupt mask register  (see 8259)

       0C0-0DF  8237 DMA controller 2 (AT)
       0C0      TI SN76496 Programmable Tone/Noise Generator (PCjr)
       0C2      DMA channel 3 selector  (see ports 6 & 82)

       0E0-0EF  Reserved

       0F0-0FF  Math coprocessor (AT, PS2)
       0F0-0F5  PCjr Disk Controller
       0F0      Disk Controller
       0F2      Disk Controller control port
       0F4      Disk Controller status register
       0F5      Disk Controller data port

       100-10F  Programmable Option Select (PS2)

       110-1EF  System I/O channel

       1F0-1FF  Fixed disk (AT)

       200-20F  Game Adapter (see GAME PORT or JOYSTICK)

       210-217  Expansion Card Ports (XT)
       210      Write: latch expansion bus data
                read:  verify expansion bus data
       211      Write: clear wait,test latch
                Read:  MSB of of data address
       212      Read:  LSB of data address
       213      Write: 0=enable, 1=/disable expansion unit
       214-215  Receiver Card Ports
       214      write: latch data, read: data
       215      read:  MSB of address, next read: LSB of address

       220-26F  Reserved for I/O channel

       270-27F  Third parallel port (see PARALLEL PORT)
       280-2AF  Reserved for I/O channel
       2B0-2DF  Alternate EGA, or 3270 PC video (XT, AT)

       2E8-2EF  COM4 non PS/2 UART (Reserved by IBM) (see UART)

       2F0-2F7  Reserved

       2F8-2FF  COM2 Second Asynchronous Adapter (see UART)
                Primary Asynchronous Adapter for PCjr

       300-31F  Prototype Experimentation Card (except PCjr)

       320-32F  Hard Disk Controller  (XT)
       320      Read from/Write to controller
       321      Read: Controller Status, Write: controller reset
       322      Write: generate controller select pulse
       323      Write: Pattern to DMA and interrupt mask register
                (see ports 0F,21,C2)

       330-33F  Reserved for XT/370
       340-35F  Reserved for I/O channel
       360-36F  PC Network
       378-37F  Second Parallel Printer (see PARALLEL PORT)
                First Parallel Printer (see PARALLEL PORT)

       380-38F  Synchronous Data Link Control (SDLC) Adapter
       380-389  Second Binary Synchronous Adapter (if first is
                already installed) (see ports 3A0-3A9 for mapping)
       380      On board 8255 port A, internal/external sense
       381      On board 8255 port B, external modem interface
       382      On board 8255 port C, internal control and gating
       383      On board 8255 mode register
       384      On board 8253 channel square wave generator
       385      On board 8253 channel 1 inactivity time-out
       386      On board 8253 channel 2 inactivity time-out
       387      On board 8253 mode register
       388      On board 8273 read: status; Write: Command
       389      On board 8273 write: parameter; read: response

       38A      On board 8273 transmit interrupt status
       38B      On board 8273 receiver interrupt status
       38C      On board 8273 data

       390-39F  Cluster Adapter

       3A0-3AF  Primary Bisynchronous Adapter
       3A0      On board 8255 port A, internal/external sense
       3A1      On board 8255 port B, external modem interface
       3A2      On board 8255 port C, internal control and gating
       3A3      On board 8255 mode register
       3A4      On board 8253 counter 0 not used
       3A5      On board 8253 counter 1 inactivity time-outs
       3A6      On board 8253 counter 2 inactivity time-outs
       3A7      On board 8253 mode register
       3A8      On board 8251 data
       3A9      On board 8251 command/mode/status register

       3B0-3BF  Monochrome Display Adapter (write only, see 6845)
       3B0      port address decodes to 3B4
       3B1      port address decodes to 3B5
       3B2      port address decodes to 3B4
       3B3      port address decodes to 3B5
       3B4      6845 index register, selects which register [0-11h]
                is to be accessed through port 3B5
       3B5      6845 data register [0-11h] selected by port 3B4,
                registers 0C-0F may be read.  If a read occurs without
                the adapter installed, FFh is returned.  (see 6845)
       3B6      port address decodes to 3B4
       3B7      port address decodes to 3B5
       3B8      6845 Mode control register
       3B9      reserved for color select register on color adapter
       3BA      status register (read only)
       3BB      reserved for light pen strobe reset
       3BC-3BF  Primary Parallel Printer Adapter (see PARALLEL PORT)

       3C0-3CF  Enhanced Graphics Adapter

       3D0-3DF  Color Graphics Monitor Adapter (ports 3D0-3DB are
                write only, see 6845)
       3D0      port address decodes to 3D4
       3D1      port address decodes to 3D5
       3D2      port address decodes to 3D4
       3D3      port address decodes to 3D5
       3D4      6845 index register, selects which register [0-11h]
                is to be accessed through port 3D5
       3D5      6845 data register [0-11h] selected by port 3D4,
                registers 0C-0F may be read.  If a read occurs without
                the adapter installed, FFh is returned.  (see 6845)
       3D6      port address decodes to 3D4
       3D7      port address decodes to 3D5
       3D8      6845 Mode control register (except PCjr)
       3D9      color select register (see 6845)
       3DA      status register (read only, see 6845, PCjr VGA access)
       3DB      Clear light pen latch (any write)
       3DC      Preset Light pen latch
       3DF      CRT/CPU page register (PCjr only)

       3E8-3EF  COM3 non PS/2 UART (Reserved by IBM) (see UART)

       3F0-3F7  Floppy disk controller (except PCjr)
       3F2      controller control port
       3F4      controller status register
       3F5      data register (write 1-9 byte command, see INT 13)

       3F8-3FF  COM1 Primary Asynchronous Adapter  (see UART)

       3220-3227  PS/2 COM3 (see UART)
       3228-322F  PS/2 COM4 (see UART)
       4220-4227  PS/2 COM5 (see UART)
       4228-422F  PS/2 COM6 (see UART)
       5220-5227  PS/2 COM7 (see UART)
       5228-522F  PS/2 COM8 (see UART)


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .