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