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