gt6294b@gitpyr.UUCP (SCHEUTZOW,MICHAEL J) (04/23/86)
> >OK MS-DOS hackers - here's a tough one. Can anyone tell me what the purpose of >the different fields in the ms-dos command table are: > >It consists of: 1 byte - number char in command name + 1 > x byte - the command name > 1 byte - 00 or 01, purpose unknown > 2 byte - an address/offset of some sort > The third field in that table is an indication as to whether the first parameter of the command should be interpreted as a file name. The fourth parameter is the offset to the command routine in the transient portion of COMMAND.COM. I would like to thank Craig Jackson for this information. Example: (The following comments apply to MS-DOS 2.11) The command strings are located at about xxxx:39A0, where xxxx is the CS segment set up by debug. xxxx:39A0 04 D I R 01 2B 0F If the file is DEBUGed using: A>debug command.com then the beginning of the code that will later become the transient section occurs 0F80 bytes into the file. I prefer to adjust the CS register by adding 00F8 to it; then the offsets correspond to the addresses to use with Unassemble. To check out the code for DIR, use -u 0f2b Mike Scheutzow # include <disclaimer.c> Georgia Tech (404) 355-6871 Lyrics: "My wife ran off with my best friend, and I sure do miss him..." ...!{allegra,ihnp4,seismo}!gatech!gitpyr!gt6294b