Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_34

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine 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.1back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_34 [2024/04/08 08:23] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 23.22.35.162
Ligne 1: Ligne 1:
 +====== INT 0x21 - 0x34 - Get Address to DOS Critical Flag ======
 +
 +<WRAP round info >
 +INDOS (Undocumented DOS 2.0+)
 +</WRAP>
 +
 +
 +===== Request/Call: =====
 +
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^  reg  ^  value  ^  descr  ^
 +|  AH    0x34           |
 +
 +===== Return: =====
 +
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^  reg  ^   descr  ^
 +|  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:ibm-pc-ms-dos:interrupts:int_28:start|INT 28]] is active or this flag and the critical error flag are clear then it is safe to call DOS
 +  * this interrupt should be used only during TSR initialization; the returned pointer should be used thereafter
 +  * this flag is cleared after a critical error ([[back2root:ibm-pc-ms-dos:interrupts:int_24|INT 24]])
 +    * 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:ibm-pc-ms-dos:interrupts:int_21_5d|21,5D]] in DOS 3.x+ can be used to locate the critical error flag</WRAP>
 + 
 +[[start|Back]]