Interrupts 80x86/ INT 14

Aus Wikibooks

Initialisieren[Bearbeiten]

Vor dem Aufruf

AH = 0x00 AL = Parameterbyte / Kommunikation

    76543210
    ||||||||
    ||||||Datenlänge (10 = 7, 11 = 8)
    |||||Stopbits    (0 = 1 Stopbits, 1 = 2 Stopbits)
    |||Parität       (00 = Keine, 01 = ungerade, 10 = Keine, 11 = gerade)
    Bitrate          (000-111 = 110 bis 9600 bps)

Nach dem Aufruf

AH = Statusbyte / Übertragung

    76543210 
    ||||||||
    |||||||Daten sind da
    ||||||Überlauf
    |||||Paritätsfehler
    ||||Protokollfehler
    |||Unterbrechung
    ||Halteregister frei
    |Schieberegister bereit
    Time Out

AL = Statusbyte / Modem

    76543210 
    ||||||||
    |||||||Sendebereit (delta)
    ||||||Modembereit (delta)
    |||||Telefonschellen (delta)
    ||||Carriererkennung (delta)
    |||Sendebereit
    ||Modembereit
    |Telefonschellen
    Carriererkennung

Zeichen senden[Bearbeiten]

Vor dem Aufruf

AH = 0x01 AL = Byte zur Übertragung DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

AH = Statusbyte / Übertragung (s.o.) AL = Byte zur Übertragung


Zeichen empfangen[Bearbeiten]

Vor dem Aufruf

AH = 0x02 DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

AH = Statusbyte / Übertragung (s.o.) AL = Empfangenes Byte


Status lesen[Bearbeiten]

Vor dem Aufruf

AH = 0x03 DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

AH = Statusbyte / Übertragung (s.o.) AL = Statusbyte / Modem (s.o.)


Erweiterte Initialisierung[Bearbeiten]

Vor dem Aufruf

AH = 0x04 AL = Break-Schalter (0/1 - an/aus) BH = Parität (wie in Parameterbyte Komm.) BL = Stoppbits (0-1) CH = Datenlänge (0-8) CL = bps-Rate (wie in Parameterbyte Komm.) DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

AH = Statusbyte / Übertragung (s.o.) AL = Statusbyte / Modem (s.o.)


Lese Modemkontrollregister[Bearbeiten]

Vor dem Aufruf

AH = 0x05 AL = 0x00 DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

BL = Modemkontrollregister

    76543210
    ||||||||
    |||||||Terminal bereit
    ||||||Senden angefordert
    |||||Out1
    ||||Out2
    |||In Schleife
    ???
    ^^ Modemabhängig

Schreibe Modemkontrollregister[Bearbeiten]

Vor dem Aufruf

AH = 0x05 AL = 0x01 BL = Modemkontrollregister (s.o.)

DX = Portnummer (0 = COM1 etc...)

Nach dem Aufruf

AH = Statusbyte / Übertragung (s.o.) AL = Statusbyte / Modem (s.o.)