Hi!
Das läuft über direktes Ansteuern des Bausteines über Portadressen und dem Setzen von entsprechenden Bits.
Die Umsetzung ist bei mir (unter DOS mit TurboPascal) schon einige Jahre her, so dass ich das auch nicht mehr aus dem Ärmel schütteln kann. Ich habe damals den grossen "PC-Intern 4" Schmöker vom M. Tischer. Ich keine da wäre das beschrieben gewesen.
Online habe ich mit einer Google suche, die folgende Seite aufstöbert: http://www.lammertbies.nl/comm/info/serial-uart.html
Dabei hatte ich nach folgenden Suchbegriffen gesucht: use FIFO 16550
Bis dann
Andreas
PS: ich habe doch noch Sourcen auf meinem Notebook. Da ist sogar eine Routine darunter, welche die FIFOs aktiviert. Villeicht hilft es dir ja zusammen mit der Googlesuche und dem Oben eingefügten Link weiter.
{Initialisierungsproceduren:}
procedure OpenCOM1;
var r:registers;
begin
{COM1 für SPS-Kommunikation verwenden}
SPS_COM:=0; {(COM2: DX:=1)}
r.ah:=0; {Funktion 0 des Interupts $14 wählen}
r.dx:=SPS_COM; {Schnittstelle COM1 gewählt }
r.al:=128+64+32+16+8+2;
{128+64+32: 9600Baud
128+64 : 4800Baud
16+8 : gerade Paritaet
2 : 7 Bit}
r.ds:=0; {Vorbelegung laut Online-Hilfe}
r.es:=0; {ditto}
intr($14,r);
{FIFOs einschalten:}
port[$3f8+2]:=4+2+1;
{ 1: FIFOs einschalten
2: Empfangspuffer löschen
4: Sendepuffer löschen}
{Serielle Schnittstelle als Gerät öffnen:}
assign(COM1out,'com1');
rewrite(COM1out);
assign(COM1in,'com1');
reset(COM1in);
end;