en:docs:dos:api:int21:34

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:docs:dos:api:int21:34 [2020/12/09 07:42] (current)
prokushev created
Line 1: Line 1:
 +{{page>​en:​templates:​dosint}}
 +
 +====== Int 21H, AH=34H ======
 +
 +===== Version =====
 +
 +2 and higher
 +
 +===== Brief =====
 +
 +GET ADDRESS OF INDOS FLAG
 +
 +===== Family API =====
 +
 +
 +===== Input =====
 +
 +        AH = 34h
 +
 +===== Return =====
 +
 + ES:BX -> one-byte InDOS flag
 +
 +===== Notes =====
 +
 +  this function executes on the DOS stack, and thus cannot be called
 +          while another DOS function is already executing; you should use
 +          this function once at the beginning of the program and store the
 +          returned pointer rather than calling it when requiring DOS access
 +        the value of InDOS is incremented whenever an INT 21 function begins
 +          and decremented whenever one completes
 +        during an INT 28 call, it is safe to call some INT 21 functions even
 +          though InDOS may be 01h instead of zero
 +        InDOS alone is not sufficient for determining when it is safe to
 +          enter DOS, as the critical error handling decrements InDOS and
 +          increments the critical error flag for the duration of the critical
 +          error. ​ Thus, it is possible for InDOS to be zero even if DOS is
 +          busy.
 +        SMARTDRV 4.0 sets the InDOS flag while flushing its buffers to disk,
 +          then zeros it on completion
 +        the critical error flag is the byte immediately following InDOS in
 +          DOS 2.x, and the byte BEFORE the InDOS flag in DOS 3.0+ and
 +          DR DOS 3.41+ (except COMPAQ DOS 3.0, where the critical error flag
 +          is located 1AAh bytes BEFORE the critical section flag)
 +        for DOS 3.1+, an undocumented call exists to get the address of the
 +          critical error flag (see AX=5D06h)
 +        this function was undocumented prior to the release of DOS 5.0.
 +
 +===== See also =====
 +
 + ​AX=5D06h,​AX=5D0Bh,​INT 15/​AX=DE1Fh,​INT 28
 +
 +===== Note =====
 +
 +Text based on [[http://​www.cs.cmu.edu/​~ralf/​files.html|Ralf Brown Interrupt List Release 61]]
 +
 +{{page>​en:​templates:​int}}
 +
 +{{page>​en:​templates:​fapi}}
  

en/docs/dos/api/int21/34.txt · Last modified: 2020/12/09 07:42 by prokushev