18.12.2012 Aufrufe

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Rechnergrundlagen Teil 2 - 54 - Prof. Dipl.-Ing. Komar<br />

Alle Angaben, die von der Funktion zurückgeliefert werden, erfolgen im BCD-Format.<br />

Der Inhalt der Register BX, SI, DI, BP und der Segmentregister wird durch diese Funktion nicht verändert. Der Inhalt aller<br />

anderen Register kann verändert werden.<br />

Interrupt 1Ah, Funktion 06h Datum und Zeit: Alarmzeit setzen<br />

Eine Alarmzeit, die sich immer auf den aktuellen Tag bezieht, kann mit Hilfe dieser Funktion gesetzt werden. Bei Erreichen<br />

dieser Zeit wird der Interrupt 4Ah ausgelöst. Die batteriegepufferte Echtzeituhr; ist nur in ATs vorhanden.<br />

Eingabe AH = 06h<br />

CH = Stunde<br />

CL = Minute<br />

DH = Sekunde<br />

Ausgabe Carry -Flag = 0: O.k.<br />

Carry -Flag = 1: Entweder ist die Batterie der Uhr leer, oder es ist<br />

bereits eine Alarmzeit programmiert.<br />

Alle Angaben, die der Funktion übergeben werden, müssen im BCD-Format kodiert sein.<br />

Der Interrupt 4Ah wird beim Booten auf einen Maschinensprache-IRET-Befehl gelegt. Wird er nicht auf eine spezielle<br />

Routine umg elegt, geschieht dadurch bei Erreichen der Alarmzeit nichts. Es kann immer nur eine Alarmzeit gleichzeitig aktiv<br />

sein. Ist bereits eine Alarmzeit programmiert, muß diese zunächst mit Hilfe der Funktion 7 gelöscht werden.<br />

Der Inhalt der Register BX, CX, SI, DI, BP und der Segmentregister wird durch diese Funktion nicht verändert. Der Inhalt<br />

aller anderen Register kann verändert werden.<br />

Interrupt 1Ah, Funktion 07h Datum und Zeit: Alarmzeit löschen<br />

Mit Hilfe dieser Funktion kann eine einprogrammierte Alarmzeit wieder gelöscht werden. Bei Erreichen dieser Zeit wird<br />

dann kein Alarm mehr ausgelöst (ab AT).<br />

Eingabe AH = 07h<br />

Ausgabe keine<br />

Diese Funktion muß auch immer dann aufgerufen werden, wenn die Alarmzeit geändert werden soll. In diesem Fall kann erst<br />

nach Aufruf dieser Funktion durch Aufruf der Funktion 6 eine neue Alarmzeit programmiert werden.<br />

Der Inhalt der Register BX, CX, SI, DI, BP und der Segmentregister wird durch diese Funktion nicht verändert. Der Inhalt<br />

aller anderen Register kann verändert werden.<br />

Der Ctrl-Break -Interrupt 23h<br />

wird nach einer unvorhergesehenen Anwender- Betätigung von [Control]+[Break] bzw. [Control]+[C] durch DOS<br />

aufgerufen und der Interrupt-Vektor zeigt beim Start <strong>eines</strong> Programmes auf eine DOS-Routine, die die Beendigung des<br />

Programmes herbeiführt.<br />

Doch steht es einem Programm frei, diesen Interrupt-Vektor auf eine eigene Routine umzuleiten und dadurch die Kontrolle<br />

über die Abläufe bei der Betätigung von [Ctrl]+[Break] selbst in die Hand zu nehmen.<br />

Der Aufruf dieses Interrupts ist jedoch nicht unmittelbar mit der Betätigung einer der beiden Tastenkombinationen<br />

verbunden. Vielmehr ist der Zeitpunkt, an dem DOS die Betätigung einer der beiden Tastenkombinationen überprüft, vom<br />

sogenannten Break-Flag abhängig. Dieses Flag kann zum einen über die DOS-Oberfläche mit dem Befehl BREAK<br />

(ON/OFF), und zum anderen mit Hilfe der DOS -Funktion 33h, Unterfunktion 01h, gesetzt oder gelöscht werden.<br />

Ist es gesetzt, wird bei jedem Aufruf einer Funktion des DOS-Interrupts 21h im Tastaturpuffer nach dem Tastencode von<br />

[Ctrl]+[Break] bzw. [Ctrl]+[C] gefahndet. Ist das Break-Flag hingegen gelöscht, erfolgt diese Überprüfung nur beim Aufruf<br />

der DOS-Funktionen, die dem Zugriff auf das Standard -Ein- oder -Ausgabegerät dienen.<br />

Soll die Betätigung von [Ctrl]+[Break] oder [Ctrl]+[C] hingegen ignoriert werden, muß die Kontrolle lediglich mit Hilfe des<br />

IRET-Maschinensprache-Befehls an das DOS zurückgegeben werden. Allerdings muß das Programm in diesem Fall dafür<br />

Sorge tragen, daß alle Prozessor-Regis ter die Werte enthalten, die sie auch beim Aufruf des Interrupts 23h aufwiesen.<br />

Andernfalls kann die ursprünglich aufgerufene DOS-Funktion nicht einwandfrei beendet werden.<br />

Der Critical -Error -Interrupt 24h<br />

ist meist die Reaktion auf einen Fehler. der beim Zugriff auf ein externes Gerät aufgetreten ist.<br />

Um den verschiedenen Fehlerkategorien Rechnung zu tragen, zeigt der Critical-Error-Interrupt, der Interrupt 24h,<br />

normalerweise auf eine DOS-Routine, die in der englischen DOS-Version die bekannte Meldung " (A)bort, (R)etry, (I)gnore"<br />

("Abbrechen, Wiederholen, Ignorieren") auf dem Bildschirm ausgibt und auf die Eingabe des Anwenders wartet.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!