Die Funktionen des Interruptes 14h (Serielle Schnittstelle) stellt
die folgende Tabelle dar:
| Funktion |
Bedeutung |
Eingabe |
Ausgabe |
BIOS - Implementierung |
Anmerkungen |
| 00h |
Initialisierung der seriellen Schnittstelle |
AX=00h
DX=Nummer der seriellen Schnittstelle
AL=Konfigurationsbyte |
AH=Status der seriellen Schnittstelle
AL=Modemstatus |
PC, XT, AT, PS/2 |
Diese Funktion initialisiert und konfiguriert eine serielle Schnittstelle. COM1 trägt die
Nummer 0 usw. |
| 01h |
Zeichen senden |
AH=01h
AL=ASCII - Code
DX=Nummer der Schnittstelle |
AH: Bit 7=0: OK
Bit 7=1:
Fehler und Bits 0-6 entsprechend der Status - Tabelle. |
PC, XT, AT, PS/2 |
Gibt ein Zeichen über die serielle Schnittstelle aus |
| 02h |
Zeichen empfangen |
AH=02h
DX=Nummer der Schnittstelle |
AH: Bit 7=0: OK und AL=ASCII - Code
Bit 7=1: Fehler und Bits 0 - 6 entsprechend der Status - Tabelle. |
PC, XT, AT, PS/2 |
Empfängt ein Zeichen über die serielle Schnittstelle |
| 03h |
Status abfragen |
AH=03h
DX=Nummer der Schnittstelle |
AH=Status |
PC, XT, AT, PS/2 |
Liefert Status der seriellen Schnittstelle. |
Die Funktionen können mit dem Turbo-Pascal-eigenen Assembler
aufgerufen werden. Ein Anwendungsbeispiel könnte so aussehen:
Generell wird im Register AH die Funktionsnummer übergeben.
| Bit |
Bedeutung |
| 0 - 1 |
Datenlänge |
10=7 Bits
01=8 Bits |
| 2 |
Anzahl Stopbits |
0=1 Stopbit
1=1,5 oder 2 Bits |
| 3 - 4 |
Parität |
00=keine
01=ungerade
11=gerade |
| 5 - 7 |
Baudrate |
000=110
001=150
010=300
011=600
100=1200
101=2400
110=4800
111=9600 |
| Bit |
Bedeutung |
| 0 |
Daten vorhanden |
| 1 |
Überlauf (ein neues Zeichen wurde empfangen, noch bevor das vorhergehende ausgelesen
wurde) |
| 2 |
Paritätsfehler |
| 3 |
falsches Protokoll |
| 4 |
Unterbrechung erkannt |
| 5 |
Übertragungs - Halteregister leer |
| 6 |
Übertragungs - Schieberegister leer |
| 7 |
Timeout |
Alle Angaben ohne Gewähr.