[net.micro.pc] PCDOS Int 20 problem solved

dmt@hocsl.UUCP (10/24/84)

Thanks to everybody who offered help on my problem:

>  I now have an assembly language program whose entire script is:
>  
>  abc	segment	common
>  xyz	proc
>  	assume	cs:abc,ds:abc
>  ;
>  	int	20H	; don't do anything, just halt
>  ;
>  xyz	endp
>  abc	ends
>  	end
>  
>  If I run it under DEBUG, it terminates normally.
>  If I run it from a .BIN file (even right after a boot),
>  the system hangs.  It DOES compile OK, into the single
>  interrupt instruction.
>  I've done this on three different PCDOS machines, each
>  with its own system disk.  Same result each time.
>  
>  I have now narrowed it down to,
>  "I must be doing something very stupid; somebody please
>  set me straight."

I received good suggestions from Jim Schimpf of Utah and
Bob Eager of U. of Kent. However, Rex Knepp of PSUVM.BITNET
proved that I was indeed "doing something very stupid."
His suggestion was trivial to implement, and solved the problem
in straight-forward fashion for both the dummy program and the
real one.

After running the .EXE file through EXE2BIN, I was left with
the .EXE file and a new .BIN file.  DOS doesn't run .BIN files;
you have to rename them .COM.  Moreover, with the .EXE file still
hanging around, DOS was running that instead. Apparently .EXE
files don't do so well with INT 20.  (I bet Jim Schimpf's idea
using a FAR_RET would help here.)

Anyway, the problem was solved by:
	DEL ABC.EXE
	REN ABC.BIN ABC.COM
And of course it ran under DEBUG. After all, I was debugging a
real .COM file under a different name. 
Thanks, Rex.
			Dave Tutelman