This is an interrupt-driven device driver for the serial port(s) on an IBM PC. I tried to follow the guidelines in the DOS tech ref manual as best I could. It seems to work fine in my application (a PC with COM1 going to a Cray, COM2 going to a text-to-speech/telephone-management box; dial it up from a touch-tone phone, "beep in" your number and password, it logs into the Cray and reads you your mail), but certainly hasn't been exhaustively tested. Its biggest problem is something I suspect is a DOS bug: The byte count returned from the 3F DOS function always seems to be short by 1, meaning you can't distinguish between a "nothing there" return and a "one byte returned" return. I claim to be able to point to the goof in disassembled DOS that's doing this, but the oh-so-helpful-before-we-bought-our-80-PCs people at IBM don't return my calls. Anyway, to get around this problem, I've had to precede each "get-a-character" call with an "input status" call to see if there's anything there. I am posting this in hopes that people who know more than I about 8088 assemblers, device drivers, etc. will point out bugs or possible improvements. - Peter. (pearson@lll-mfe.arpa)