1.0. DEBUG.EXE command Traditionally, all
computers and
operating systems have included a maintenance function, used to determine whether a program is working correctly. DEBUG was originally written by
Tim Paterson to serve this purpose in
86-DOS. When Paterson began working for Microsoft in the early 1980s he brought the program with him. DEBUG was part of and has been included in
MS-DOS/
PC DOS and certain versions of
Microsoft Windows. Originally named DEBUG.COM, the executable was renamed into DEBUG.EXE with MS-DOS 3.2.
Windows XP and later versions included DEBUG for the
MS-DOS subsystem to maintain MS-DOS compatibility. The 16-bit DOS commands are not available on
64-bit editions of Windows. The MS-DOS/PC DOS DEBUG has several limitations: • In assembly/disassembly modes it only supports
8086 opcodes. • It can only access 16-bit
registers and not 32-bit extended registers. • When the "N" subcommand for naming files is used, the filename is stored from
offset DS:5D to DS:67 (the
Program Segment Prefix File Control Block area), meaning that the program can only save files in
FAT 8.3 filename format. Enhanced DEBUG packages include the DEBUG command in
Novell DOS 7,
OpenDOS 7.01 and
DR-DOS 7.02 and higher, a reimplementation of
Digital Research's former
Symbolic Instruction Debugger SID/SID86, which came with former versions of
DR DOS. It is fully compatible with the DEBUG command line syntax of MS-DOS/PC DOS, but offers many enhancements, including supporting 16-bit and 32-bit opcodes up to the
Pentium, an extended mode (/X) with dozens of additional commands and sub-modes, a much enhanced command line syntax with user-definable macros and
symbolic debugging facilities with named registers, loaded
symbol tables, mathematical operations and
base conversions, as well as a
commenting disassembler. Some versions also utilized
DPMS to function as a "stealth mode" protected-mode debugger. The
FreeDOS version of DEBUG was developed by Paul Vojta and is licensed under the
MIT License. A 32-bit clone "DEBUGX" version supporting
32-bit DPMI programs exists as well. Andreas "Japheth" Grech, the author of the
HX DOS extender, developed enhanced DEBUG versions 0.98 to 1.25, and former
PC DOS developer Vernon C. Brooks added versions 1.26 to 1.32. ==Syntax==