TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: SYLVAIN LAUZON
from: DENIS BOYLES
date: 1997-04-12 21:48:00
subject: INDOS Flag

Hi Sylvain,
SL> > "skip" that code and go to the print itself. Though either way I don't
SL> > think it's good to call DOS within DOS itself. Unless you're on a 
differen
SL>  Yes i could, but need the check anyway critical flag otherwise the 
program
SL>  will crash. So isn't good call DOS within DOS itself? :>
SL>  Here is a part of a DOC about DOS interrupt
SL>        INT 20  Program terminate
SL>        INT 21  DOS Function Dispatcher
SL>        INT 22  Program Terminate
SL>        INT 23  Ctl-break exit address
SL>        INT 24  Critical error handler address
SL>        INT 25  Absolute disk read
SL>        INT 26  Absolute disk write
SL>        INT 27  Terminate but stay resident
SL>        INT 28  DOS idle loop/scheduler (undocumented)
SL>        INT 29  Fast character output (undocumented)
SL>        INT 2E  Execute command using base level COMMAND.COM (undoc.)
SL>        INT 2F  Multiplex interrupt (DOS 3.x+)
SL> Does it mean that inDOS flag isn't own by INT 21h only? But throught this
SL> range?
That's possible since they are all part of DOS though I'm not sure exactly.
           INT 21  DOS Function Dispatcher
           INT 25  Absolute disk read
           INT 26  Absolute disk write
           INT 28  DOS idle loop/scheduler (undocumented)
I would imagine that these four atleast would set the flag since they are
pretty important ones. For example, you wouldn't want to call DOS when it
was already access the disk. I remember though that certain int 21h
functions are safe, but others are not. Something like the lower numbered
functions are ok, but the highter ones aren't.
One would need to read up on the INDOS flag and how it applies to writing
TSRs.
SL> > Hmm, possibly a register is being changed which might need to
SL> > be saved on the stack?
SL> But after printing on indos=1 i get this when i type to the prompt.
SL>C:\>dir | more
SL>Intermediate file error during pipe
Probably since INDOS=1 would mean that DOS was "active" so you should be
careful. Perhaps making the DOS call within DOS screwed up some file
buffer data or something.
Cheers,
  Denis Boyles
 * OLX 2.1 TD * It's only a hobby ... only a hobby ... only a
--- Maximus/2 3.01
---------------
* Origin: Frog Hollow Port Moody BC 604-469-0264/0284 (1:153/290)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.