Bios Interrupt 13h Schnittstellen


Function 00h - Eine serielle Schnittstelle initialisieren

Eingabe:  AH    =  00h
          AL    =  Konfigurationsbyte
                   Bits 7-5 = Baudcode
                            000 = 110 Bps
                            001 = 150 Bps       
                            010 = 300 Bps
                            011 = 600 Bps
                            100 = 1200 Bps
                            101 = 2400 Bps
                            110 = 4800 Bps
                            111 = 9600 Bps
                   Bits 4-3 = Parität
                            00 = Parität gesperrt
                            01 = ungerate Parität
                            10 = Parität freigegeben
                            11 = gerade Parität
                   Bits 2   = Anzahl der Stopbits
                            0 = 1 Stopbit
                            1 = 2 Stopbit
                   Bits 1   = reserviert, immer 1
                   Bits 0   = Anzahl der Datenbits
                            0 = 7 Datenbits
                            1 = 8 Datenbits
          DX    =  serielle Schnittstelle
                00h = COM 1
                01h = COM 2
                02h = COM 3
                03h = COM 4
Ausgabe:  AH    =  Zeilen-Statusregister
                Bit 7 = 1, Time Out Error (TOE) - Wartezeitfehler
                Bit 6 = 1, Transmit Shift Register Empty (TSRE) - TSR unbelegt
                Bit 5 = 1, Transmit Holding Register Empty (THRE) - THR unbelegt
                Bit 4 = 1, Break Indicator (BI) - Unterbrechung erkannt
                Bit 3 = 1, Framing Error (FE) - Rahmenfehler
                Bit 2 = 1, Party Error (PE) - Paritätsfehler
                Bit 1 = 1, Overrun Error (OE) - Überlauffehler
                Bit 0 = 1, Data Ready (DR) - Empfängerdaten bereit
          Al    = Modem-Statusregister
                Bit 7 = 1, Data Carrier Detect (DCD) - Verbindung zum Empfänger-Modem hergestellt
                Bit 6 = 1, Ring Indicator (RI) - Telefon läutet
                Bit 5 = 1, Data Set Ready (DSR) - Modem ist angeschaltet
                Bit 4 = 1, Clear To Send (CTS) - Modem zum Senden bereit
                Bit 3 = 1, Delta Data Carrier Detect (DDCD) - Delta-Verbindung zum Empänger-Modem hergestellt
                Bit 2 = 1, Trailing Edge Ring Indicator (TERI) - Delta-Telefon läutet
                Bit 1 = 1, Delta Data Set Ready (DDSR) - Delta-Modem ist angeschaltet
                Bit 0 = 1, Delta Clear To Send (DCTS) - Delta-Modem bereit zum Senden

Function 01h - ASCII-Zeichen an die serielle Schnittstelle senden
Eingabe:  AH    =  01h
          AL    =  ASCII-Code des zu sendenden Zeichen
          DX    =  serielle Schnittstelle, siehe Funktion 00h
Ausgabe:  AH    =  Zeilen-Statusregister, siehe Funktion 00h

Function 02h - ASCII-Zeichen von der seriellen Schnittstelle empfangen
Eingabe:  AH    =  02h
          DX    =  serielle Schnittstelle, siehe Funktion 00h
Ausgabe:  AH    =  Zeilen-Statusregister, siehe Funktion 00h
          AL    =  ASCII-Code des empfangenen Zeichen

Function 04h - Initialisieren der seriellen Schnittstelle (ausführlich)
Eingabe:  AH    =  04h
          AL    =  Unterbrechungs-Signal
                   00h, keine Unterbrechung
                   01h, Unterbrechung
          BH    =  Parität
                   00h, keine Parität
                   01h, ungerade Parität
                   02h, gerade Parität
                   03h, feste ungerade Parität
                   04h, feste gerade Parität
          BL    =  Anzahl der Stopbits
                   00h, 1 Stopbit
                   01h, 2 Stopbits, wenn die Datenlänge 6,7 oder 8 Bits beträgt
                   10h, 1½ Stopbits, wenn die Datenlänge 5 Bits beträgt
          CH    =  Datenlänge
                   00h, 5 Bits
                   01h, 6 Bits
                   02h, 7 Bits
                   03h, 8 Bits
          CL    =  Datenübertragungsgeschwindigkeit
                   00h, 110 Bps
                   01h, 150 Bps
                   02h, 300 Bps
                   03h, 600 Bps
                   04h, 1200 Bps
                   05h, 2400 Bps
                   06h, 4800 Bps
                   07h, 9600 Bps
                   08h, 19200 Bps
                   09h, 115200 Bps (einige Systeme)
          DX    =  serielle Schnittstelle, siehe Funktion 00h
Ausgabe:  AH    =  Zeilen-Statusregister, siehe Funktion 00h
          AL    =  Modem-Statusregister, siehe Funktion 00h