Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_34 [2023/01/10 11:55] – supprimée - modification externe (Unknown date) 127.0.0.1 | back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_34 [2024/08/13 11:27] (Version actuelle) – [Notes & Comments] frater | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== INT 0x21 - 0x34 - Get Address to DOS Critical Flag ====== | ||
+ | |||
+ | <WRAP round info > | ||
+ | INDOS (Undocumented DOS 2.0+) | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Request/ | ||
+ | |||
+ | {{tablelayout? | ||
+ | ^ reg ^ value ^ descr ^ | ||
+ | | AH | ||
+ | |||
+ | ===== Return: ===== | ||
+ | |||
+ | {{tablelayout? | ||
+ | ^ reg ^ | ||
+ | | ES:BX | address of a byte indicating whether a DOS call is in progress. No DOS calls should be made if set. | | ||
+ | |||
+ | ===== Notes & Comments ===== | ||
+ | |||
+ | <WRAP round box> | ||
+ | * AKA the INDOS flag, this critical section flag may be checked from within an interrupt handler before requesting a DOS service. It is a semaphore that is non-zero when DOS is busy, and zero otherwise. | ||
+ | * though this flag indicates whether a DOS interrupt is active, it should not be used alone to determine DOS is safe for re-entry; Here's the standard rule for safe DOS entry: if [[back2root: | ||
+ | * this interrupt should be used only during TSR initialization; | ||
+ | * this flag is cleared after a critical error ([[back2root: | ||
+ | * ES:BX-1 points to the critical error flag for DOS 3.x+ | ||
+ | * ES:BX+1 points to the critical error flag for DOS 2.x | ||
+ | * ES:BX-1AA points to the critical error flag for COMPAQ DOS 3.0 | ||
+ | |||
+ | INT [[back2root: | ||
+ | |||
+ | [[start|Back]] | ||