|
|
Vor dem Funktionsaufruf:
Nach dem Funktionsaufruf:
| BX |
Offset des Zeigers, der das INDOS-Flag angibt. |
| DS |
Segment des Zeigers, der das INDOS-Flag angibt. |
Durch den Aufruf dieser Funktion liefert DOS die Adresse des INDOS-Flags, das besonders für TSR-Programme im
Zusammenhang mit der Vermeidung von Renntranz-Problemen von Bedeutung ist. Bei dem INDOS-Flag handelt es sich um ein
Byte, das die rekursiven Aufrufe des Interrupts 21h zählt. Es enthält den Wert 0, solange DOS nicht aktiv ist. Deshalb
sind DOS-Funktionen aus einem TSR-Programm heraus aufgerufen werden dürfen. Enthält das Flag jedoch einen Wert größer 0,
dann ist DOS gerade aktiv, wobei ein Wert größer 1 eine entsprechende Anzahl rekursiver Aufrufe symbolisiert. DOS darf
in diesem Fall nicht durch einen Funktionsaufruf aus einem TSR-Programm heraus unterbrochen werden, weil sonst im
schlimmsten Fall ein Systemabsturz droht.
|
|