Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!hao!ames!ptsfa!ihnp4!inuxc!iuvax!pur-ee!pc.ecn.purdue.edu!jmoore From: jmoore@pc.ecn.purdue.edu (James D Moore) Newsgroups: comp.sys.ibm.pc Subject: Re: Interrupt 21H and function 30H Message-ID: <729@pc.ecn.purdue.edu> Date: Wed, 22-Jul-87 15:42:48 EDT Article-I.D.: pc.729 Posted: Wed Jul 22 15:42:48 1987 Date-Received: Sat, 25-Jul-87 11:02:58 EDT References: <802@sask.UUCP> Reply-To: jmoore@pc.ecn.purdue.edu.UUCP (James D Moore) Organization: Purdue University Engineering Computer Network Lines: 22 I am not sure about dec but I have been looking at this during the last couple of days. According to a couple of books I have the interup 21H and function 30H will return in AL the "major version number" and in AH the "minor version number" (note that .1 is represented as AH). The notable exception is that if AL contains a 0 it indicates a version of dos prior to the 2.0 DOS. I am not sure if the minor version of dos is returned in this last case or not. There is one note that states that BX and CX are destroyed by this interupt and are returned with a value of 0. Since I have been writing a small program that will check this I can testify that the above works. I am running MSDOS 3.10 and have checked my code on my IBM-XT at work running PC-DOS 3.20. Two good sources for the above I have found to be Peter Nortons "Programmers guide to the IBM PC" (excelent book and well written like all of his stuff) and Robert Jourdain "Programmer's Problem Solver for the IBM PC,XT & AT" (This book takes a different aproach and gives code in upper level languages then in intermediate level and then in low level code.) I strongly reccomend the above to all users taht want to learn about the internals. Jim Moore (jmoore@gb.ecn.purdue.edu)