Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rutgers!princeton!siemens!jrv
From: jrv@siemens.UUCP
Newsgroups: comp.sys.ibm.pc
Subject: Re: Dos Calls and Interrupts
Message-ID: <50800002@siemens.UUCP>
Date: Tue, 13-Jan-87 09:37:00 EST
Article-I.D.: siemens.50800002
Posted: Tue Jan 13 09:37:00 1987
Date-Received: Wed, 14-Jan-87 22:55:28 EST
References: <216700005@orstcs.UUCP>
Lines: 30
Nf-ID: #R:orstcs:216700005:siemens:50800002:000:1040
Nf-From: siemens!jrv    Jan 13 09:37:00 1987



backman@interlan writes:

>	
>
>		1).   The "dirty bit".
>			INT 21 function 34 returns the status of DOS's dirty
>			bit indicating whether DOS is in a critical section.
>			If AL returns with a 0, its safe to access DOS, if
>			it returns non-zero, DOS cannot be safely interrupted.
>

Something is a little strange here. When the resident program gets control via
an interrupt and decides it is time to do a DOS function it seems to me to be
a little touch and go to CALL DOS and execute function 34 to find out if
you can safely make a DOS CALL!

Instead Int 21 function 34 should be called before the program is made
resident. This function also returns a pointer to the location for
the DOS dirty bit in ES:BX. This address should be saved and when the
resident program needs to test if DOS calls are safe the value can be
tested directly.


Jim Vallino
Siemens Research and Technology Lab.
Princeton, NJ
{allegra,ihnp4,seismo,philabs}!princeton!siemens!jrv
CSNet: jrv@siemens.siemens-rtl.com