Black Locust Software

Technology Solutions for Business

Notes on INT 14H


The serial communication interrupt
excerpted from Hogan, Thom, The Programmer's PC Sourcebook pp4-54 through 4-57.


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 Received 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