dap1@ihlpf.UUCP (11/18/83)
#N:ihlpf:17100019:000:887 ihlpf!dap1 Nov 17 17:46:00 1983 Does anyone know how to set up an asynchronous interrupt (i.e., timer) which uses the DOS interrupts internally? The problem comes about since the DOS interrupts are not reentrant due to the fact that they use their own internal stack. If I knew where the DOS stack was, I might be able to save it in my own area and then restore it before I return. There are other problems here too. If I interrupt a DOS routine and don't change the SS register, then if I request a DOS interrupt, that DOS interrupt could change it's own return address. It looks like I have to set up MY own internal stack. The problem is, if I try to use a high level language as the interrupt routine, I can't tell it to use a separate stack. Does anybody have any suggestions??? Darrell Plank BTL-IH
seaburg@uiuccsb.UUCP (11/21/83)
#R:ihlpf:17100019:uiuccsb:5100004:000:471 uiuccsb!seaburg Nov 20 14:48:00 1983 You can do file I/O from a DOS character I/O routine (BIOS) and the other way around, but character I/O can't invoke more character I/O (same for disk) because it screws up the stack. The reason you can switch is that there are 2 stacks involved. The only suggestion I can give if you want to nest the same kind of calls is to trace through in DEBUG and try to figure out where the stacks are. (Or bribe someone at MicroSoft into giving you advice!) uiucdcs!seaburg