[net.micro.pc] DOS Calls from Interrupt Routine Query

LCAMPBELL%DEC-MARLBORO@sri-unix.UUCP (08/11/84)

From:  Larry Campbell <LCAMPBELL at DEC-MARLBORO>

Has anyone ever successfully written an interrupt routine for MS-DOS
that issues DOS calls?  I'm trying to do this with a routine that's
patched into my clock interrupt.  I know about the in-DOS-flag, and
obey it, but my DOS still goes belly up.  If I merely remove all DOS
calls, though, my interrupt routine works perfectly.  (I know it's
getting called because after it installs itself, it runs COMMAND.COM
for me...  when COMMAND.COM returns it deinstalls itself and tells
me how many times it was called.)

A possible related question:  is there some magic rule that says
programs such as this, and terminate-and-stay-resident programs,
must be .COM files?  Mine's an .EXE file (written in CI-C86).

There must be something obscure I'm missing.  I have it 99% right,
because as long as I refrain from calling DOS everything's hunky dory.
What are the magic incantations I need?
   --------

jko@ecsvax.UUCP (08/22/84)

Blaise Computing of Berkeley, CA has a package called C Tools-2 that lets you easily manipulate, install, etc. interrupts very easily.  It also provides
utilities for calling programs, DOS calls, etc.  It is a very powerful
package at an excellent price.  Furthermore, their most recent newsletter,
published a program explaining how to utilize the critical section flag of DOS to use DOS calls from a resident interrupt program.

This information comes from my son, Matt, who can be reached through my
mail address.
	jonathan k. ocko
	decvax!mcnc!ecsvax!jko

broehl@wateng.UUCP (Bernie Roehl) (08/24/84)

The following may be of some use:
	mov	ah,34h
	int	21h
This sequence returns in ES:BX the address of a byte indicating (when set)
that DOS is in an uninterruptible state (i.e. that no DOS calls should be
made).

-- 
        -Bernie Roehl    (University of Waterloo)
	...decvax!watmath!wateng!broehl