[comp.sys.ibm.pc.hardware] CPU data ports

al149615@mtecv2.mty.itesm.mx (ESCALANTE M CARLOS A) (09/09/90)

HI EVERYONE:
  I NEED TO ACCESS THE 8086 (80286) CPU DATA PORTS (LIKE THE MODEM CONTROL

REGISTER, INTERRUPT ENABLE REGISTER, ETC, ETC).
  I NEED THE COMPLETE CPU DATA TABLE PORTS. CAN YOU HELP ME?

  CARLOS A. ESCALANTE M.
BITNET: BL149615@TECMTYVM
INTERNET: AL149615@MTECV2.MTY.ITESM.MX

grege@gold.GVG.TEK.COM (Greg Ebert) (09/11/90)

In article <2104@mtecv2.mty.itesm.mx> al149615@mtecv2.mty.itesm.mx (ESCALANTE M CARLOS A) writes:
>
>HI EVERYONE:
>  I NEED TO ACCESS THE 8086 (80286) CPU DATA PORTS (LIKE THE MODEM CONTROL
>
>REGISTER, INTERRUPT ENABLE REGISTER, ETC, ETC).
>  I NEED THE COMPLETE CPU DATA TABLE PORTS. CAN YOU HELP ME?
>

Don't you mean the Serial ports ? They are at 2F8-2FFh, or 3F8-3FFh. Use
DEBUG to find out. The 8 ports are:

2F8/3F8	=	RX register (Read)	TX register (write)  DLAB=0
		Divisor LSB (r/w)			     DLAB=1
2F9/3F9	=	IER	    (r/w)			     DLAB=0
		Divisor MSB (r/w)			     DLAB=1
2FA/3FA	=	IIR (Interrupt ID register) (read)
2FB/3FB	=	LCR (Line control register) (r/w)
2FC/3FC	=	MCR (Modem control reg)	    (r/w)
2FD/3FD	=	LSR (Line status reg) 	    (r/w)
2FE/3FE	=	MSR (Modem status reg)	    (r/w)
2FF/3FF = 	Scratch (r/w)


See the 8250 (PC/XT) or 16450 (AT) info sheet from National Semiconductor
for more details.