Home Programmierung
und BIOS
Shareware-
FAQ
Kontakt u.
Infos

BIOS-Interrupte 1Ah, 1Bh und 1Ch

Interrupt 1Ah (Systemuhr)

Funktion Bedeutung Eingabe Ausgabe BIOS - Implementierung Anmerkungen
00h Timer lesen AH=00h CX=Timerwert (Bits 16 - 31)
DX=Timerwert (Bits 0 - 15)
AL=24 - Stunden - Zähler
PC, XT, AT, PS/2 Diese Funktion liefert den Timerwert der Systemuhr, der alle 18,2 Mal in der Sekunde erhöht wird. Der 24 - Stunden - Zähler wird alle 24 Stunden erhöht.
01h Timer setzen AH=01h
CX=Timerwert (Bits 16 - 31)
DX=Timerwert (Bits 0 - 15)
- PC, XT, AT, PS/2 Setzt den Timerwert, der mit Funktion 0h ausgelesen wird.
02h Echtzeituhr lesen AH=02h CF=Fehler
CH=Stunde
CL=Minute
DH=Sekunde
DL=Sommerzeitflag (0=nicht verwendet; 1=wirksam)
AT, PS/2 Liest die Uhrzeit von der Echtzeituhr. Die Rückgabewerte sind BCD-codiert.
03h Echtzeituhr stellen AH=03h
CH=Stunde
CL=Minute
DH=Sekunde
DL=Sommerzeitflag (0=nicht verwendet; 1=wirksam)
CF=Fehler AT, PS/2 Stellt die Uhrzeit der Echtzeituhr. Die Übergabewerte sind BCD-codiert.
04h Echtzeituhr - Datum lesen AH=04h CF=Fehler
CH=Jahrhundert
CL=Jahr
DH=Monat
DL=Tag
AT, PS/2 Liest das Datum der Echtzeituhr, die Werte sind BCD-codiert.
05h Echtzeituhr - Datum stellen AH=05h
CH=Jahrhundert
CL=Jahr
DH=Monat
DL=Tag
CF=Fehler AT, PS/2 Stellt das Datum der Echtzeituhr, die Werte sind BCD-codiert.
06h Alarmzeit stellen AH=06h
CH=Stunde
CL=Minute
DH=Sekunde
CF=Fehler AT, PS/2 Stellt die Alarmzeit der Echtzeituhr. Die Übergabewerte sind BCD-codiert. Bei Erreichen dieser Zeit wird der Interrupt 4Ah ausgelöst. Es kann nur eine Alarmzeit aktiv sein.
07h Alarmzeit löschen AH=07h CF=Fehler AT, PS/2 Löscht die eingestellte Alarmzeit.



Interrupt 1Bh (Break-Handler)

Bedeutung Eingabe Ausgabe BIOS - Implementierung Anmerkungen
Control - Break - Handler - - PC, XT, AT, PS/2 Wird bei der Tastenkombination Strg+Pause aufgerufen, die normalerweise zum Programmende führt. Eine Anwendung kann diesen Interrupt auf eine eigene Routine legen.



Interrupt 1Ch (Zeitgeber)

Bedeutung Eingabe Ausgabe BIOS - Implementierung Anmerkungen
Timer - Interrupt - - PC, XT, AT, PS/2 Dieser Interrupt wird von Interrupt 8 und damit 18,2 mal in der Sekunde aufgerufen.



Die Funktionen können mit dem Turbo-Pascal-eigenen Assembler aufgerufen werden. Ein Anwendungsbeispiel könnte so aussehen:


ASM

  mov {...}

  {Register entsprechend der Spalte "Eingabe" belegen...}

  int $1A;

  mov {...}

  {Register auslesen gemäß der Spalte "Ausgabe"...}

END;

Generell wird im Register AH die Funktionsnummer übergeben.

Alle Angaben ohne Gewähr.

Achtung: bitte Hinweise zur Aktualitšt der Daten beachten! Copyright