Notes on INT 14H, the serial communication interrupt
excerpted from Hogan, Thom, The Programmer's PC Sourcebook pp4-54 - 4-57.
AH=00h -- init Comm Port
AH=01H -- Write Character
AH=02H -- Read Character
AH=03H -- Status Request
AH=04H -- Extended Init -- I'm not including that here -- looks messy


AH=00h -- init Comm Port
 
Prior to issuing INT 14H
High Low
AX 00h Comm Parm Byte
BX
CX
DX Port Number (0=Com 1, 1=Com2, etc.)
Upon returning from INT 14H
High Low
AX Line Status Modem Status
BX
CX
DX

 
 

Modem Status Byte -- Low Byte
7 6 5 4 3 2 1 0 Description
x Recieved Line signal detect
x Ring Indicator
x data set ready
x clear to send
x Delta recieve line signal detect
x Trailing edge ring detector
x delta data set ready
x Delta clear to send
Line Status Byte
7 6 5 4 3 2 1 0 Description
x Time-out Unpredictable results in other bits when this bit is set to 1
x Transmitter shift register empty
x Transmitter holding register empty
x Break detect
x Framing error
x Parity error
x Overrun error
x Data ready

 
 
Com Port Parameter Byte
7 6 5 4 3 2 1 0 Description Allowable Values
x x x Baud Rate 000=110 baud
001=150
010=300
011=600
100=1200(default)
101=2400
110=4800
111=9600
x x Parity 00=No parity
01=Odd 
10=no
11=Even
x Stop Bits 0=1 stop bit
1=2 stop bits
x x Word length 10=7 bits
11=8 bits

AH=01H -- Write Character
 
Prior to issuing INT 14H
High Low
AX 01H character
BX
CX
DX Port Number (0=Com 1, 1=Com2, etc.)
Upon returning from INT 14H
High Low
AX Line Status character
BX
CX
DX

AH=02H -- Read Character
Prior to issuing INT 14H
High Low
AX 02H
BX
CX
DX Port Number (0=Com 1, 1=Com2, etc.)
Upon returning from INT 14H
High Low
AX Line Status Character
BX
CX
DX

AH=03H -- Status Request
Prior to issuing INT 14H
High Low
AX 03H Comm Parm Byte
BX
CX
DX Port Number (0=Com1, 1=Com2, etc.)
Upon returning from INT 14H
High Low
AX Line Status Modem Status
BX
CX
DX
1