[net.micro.pc] Bug in DOS 2.0 INT 25 call

crose@mhuxi.UUCP (rose) (06/21/84)

I have discovered a bug in the DOS 2.0 INT 25 system call. It may exist
on other calls also. It is that the direction bit in the flags register must
be set to UP when the INT is executed.If it is not, DOS returns an error
and does not perform the operation. The error code returned is
"Unknown operation". This bit is freely manipulated by the movmem() 
subroutine of Lattice C and maybe other routines as well. 

The symptom in my programs was that after a movmem call, calls to my
logical read routine (using INT 25) would fail. Adding a CLD instruction
(to set the direction to UP) in the logical read routine solved the problem.
I have not tested any of the other DOS interrupts to see if they have the
same problem.

		Carl Rose
		...mhuxi!crose