Funktion 00h Programm beenden

Überholte Funktion!
Ab DOS 2.X die Funktion 31h - Programm beenden und im Speicher behalten - und 4Ch - Vorgang beenden - benutzen.

Vor dem Funktionsaufruf:
AX(AH) 00h
CS Segmentadresse des PSP

Nach dem Funktionsaufruf:
Funktion kehrt nicht zurück
Datei-Buffer geleert
Termination-Handler mit Hilfe von PSP:000Ah restauriert
Ctrl-C-Rücksprungadresse mit Hilfe von PSP:000Eh restauriert
Critical-Error-Handler mit Hilfe von PSP:0012H restauriert
Kontrolle wird an Termination-Handler (Beendigung) übergeben

Durch Aufruf dieser Funktion wird dem Betriebssystem mitgeteilt, dass die Ausführung des aktuell abgearbeiteten Programms beendet und die Kontrolle wieder an das aufrufende Programm übergeben werden soll. Bevor dies jedoch geschieht, werden zunächst die drei Interrupt-Vektoren restauriert, deren Inhalt vor Aufruf des Programms im PSP gespeichert worden ist. Falls das Programm diese Vektoren auf eigene Routinen verbogen hat, können sie nicht von einem anderen Programm überschrieben werden, da der von dem zu beendenden Programm belegte RAM-Speicher für andere Programme freigegeben wird. Vor Übergabe der Kontrolle an das aufrufende Programm wird dann dieser Speicher wieder freigegeben, und alle Dateipuffer werden geleert.

Anzeige:

Anzeigen: