home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c221 / 1.ddi / MWHC.001 / 10 < prev    next >
Encoding:
Text File  |  1992-03-24  |  81.7 KB  |  3,053 lines

  1.                   MDB Command Syntax Summary
  2.  
  3.   Command keywords that are longer than 3 letters may be uniquely
  4.   specified by their first three characters or the letters shown in 
  5.   upper case.
  6.  
  7.   ! - Invokes an operating system command or shell.
  8.   # - Indicates a variable outside the current scope or a line number.
  9.   ## - Indicates a procedure outside the current scope.
  10.   $ - Prefix to distinguish module names from other symbol names.
  11.   & - Prefix to get the address of a symbolic name.
  12.   // - Specifies a comment line.
  13.   : - Invokes a macro or defines an address label.
  14.   :: - Allows for line continuation when placed at the end of a line.
  15.   ? - Displays a symbol or expression, including assignments.
  16.   @ - Executes commands from a command file.  Same as INClude.
  17.   B - Displays, sets, clears, enables or disables breakpoints.
  18.   BINary - Sets the default input radix to binary.
  19.   BREak - Causes an immediate exit from a control loop or block.
  20.   BYTe - Displays or sets byte (8-bit) object memory.
  21.   CALlstack - Displays current chain of procedure calls.
  22.   CASe - Specifies a choice in a SWITCH statement.
  23.   CAUse -  Displays reason for breaking execution.
  24.   CHAr - Displays or sets char (ASCII) object memory.
  25.   CLOse - Closes previously opened file.
  26.   COMpare - Compares two regions of memory.
  27.   CONtinue - Causes the next iteration of a control loop to begin.
  28.   COPy - Copies a block of contents from one location to another.
  29.   CW - Displays or sets the value of the 80387 control word.
  30.   DASm - Disassembles machine code.
  31.   DECimal - Sets the default input radix to decimal.
  32.   DEFault - Specifies the default choice in a SWITCH statement.
  33.   DIRectory MACro - Displays directory of macros.
  34.   DIRectory MODule - Displays directory of object modules.
  35.   DIRectory STRucture - Displays directory of structures.
  36.   DISplay MACro - Displays contents of macro body.
  37.   DISplay STRucture - Displays members of data structure.
  38.   DISplay TRAce - Displays contents of the trace buffer.
  39.   DOUble - Displays or sets double (64-bit floating point) object memory.
  40.   DOWn - Walks down the call stack.
  41.   DT - Displays or sets segment descriptors in descriptor tables.
  42.   DWOrd - Displays or sets dword (32-bit) object memory.
  43.   E - Enters a symbol examination window.  Same as EXAmine.
  44.   ED - Edits a file.  Same as EDIT.
  45.   ED MACro - Edits or creates a file or macro.  Same as EDIT MACro.
  46.   EDIT - Edits a file.  Same as ED.
  47.   EDIT MACro - Edits or creates a file or macro.  Same as ED MACro.
  48.   EFOr - Terminates a FOR loop.
  49.   EIF - Terminates an IF statement.
  50.   ELSe - Specifies an alternate path in an IF statement.
  51.   EMAcro - Terminates a macro definition.
  52.   ENV - Displays or saves parameters of the configurable environment.
  53.   ESCape - Aborts processing of macro.
  54.   ESWitch - Terminates a SWITCH statement.
  55.   EWHile - Terminates a WHILE loop.
  56.   EXAmine - Enters a symbol examination window.  Same as E.
  57.   EXIt - Exits the debugger.
  58.   FINd - Searches for a value or string in memory.
  59.   FLAg - Displays or sets the 80386 flags register.
  60.   FLOat - Displays or sets float (32-bit floating point) object memory.
  61.   FOR - Starts a FOR loop.
  62.   FREe - Displays remaining free memory.
  63.   GDT - Displays or sets descriptors in the global descriptor table.  
  64.   GLObal - Displays all global symbols.
  65.   Go - Starts program execution.
  66.   GOTo - Transfers macro control to a label.
  67.   HALt - Halts remote execution.
  68.   HELp - Invokes command line help.
  69.   HEX - Sets the default input radix to hexadecimal.
  70.   IDT - Displays or sets descriptors in the interrupt descriptor table.
  71.   IF - Starts a conditional statement.
  72.   INClude - Executes commands from a command file.  Same as @.
  73.   INPut - Reads contents from the specified input port.
  74.   IStep - Single-steps a program instruction (through calls).  Same as IS.
  75.   JOUrnal - Records keyboard commands in a journal file.
  76.   LDT - Displays or sets descriptors in the local descriptor table.
  77.   LNE - Converts an address to a linear address.
  78.   LISt - Creates a text file to record console display.
  79.   LOAd - Loads an object file from the host into the target memory. 
  80.   LOCal - Displays all active local symbols and their values.
  81.   MACro - Begins a macro definition.
  82.   MEMory - Enters memory window.
  83.   NO JOUrnal - Closes the journal file.
  84.   NO LISt - Closes the session log file.
  85.   OCTal - Sets the default input radix to octal.
  86.   OPEn - Opens a text file.
  87.   ORIf - Specifies alternate decision path in an IF statement.
  88.   OUTput - Assigns a value to the specified output port.
  89.   PD - Displays page directory.
  90.   PHYsical - Converts an address to a physical address. 
  91.   POInter - Displays or sets pointer (16/32/48-bit) object memory.
  92.   PUT - Writes macro definitions to a specified file.
  93.   QUIt - Exits the debugger leaving the remote monitor running.
  94.   QWOrd - Displays or sets qword (64-bit) object memory.
  95.   R287 - Displays 80287 status.
  96.   R387 - Displays 80387 status.
  97.   REAd - Reads in symbol values from an opened file.
  98.   REGister - Displays or sets 80386 register values.
  99.   RELoad - Reloads the program, leaving breakpoints set.
  100.   REMove MACro - Deletes a macro definition.
  101.   REPeat - Starts a REPEAT loop.
  102.   RERun - Restarts a program with the same arguments as the last RUN.
  103.   RESet - Resets the processor registers to CPU reset values.
  104.   RUN - Sets command-line arguments for a program and executes.
  105.   S - Executes one source statement at a time.  Same as STEp.
  106.   SCReen - Displays the application output screen.
  107.   SET - Associates a source file with an object module.
  108.   SET BEEp - Controls the error beeper.
  109.   SET CODe - Controls hex code display during disassembly.
  110.   SET CPP - Controls C++ code debugging
  111.   SET CRRepeat - Controls repeating commands with C/R.
  112.   SET EDItor - Specifies an editor for use with EDIt commands.
  113.   SET EGA - Controls EGA-43 or VGA-50 line display.
  114.   SET FLIp - Controls automatic display of application output on execution.
  115.   SET HELpdir - Specifies the help file directory.
  116.   SET HOMe - Sets the home window for command input.
  117.   SET KEEpheap - Sets the minimum initial heap size for a program.
  118.   SET MAIn - Controls starting execution at main().
  119.   SET MLIst - Controls display of macro content during macro processing.
  120.   SET MOUse - Controls mouse support.
  121.   SET NUMber - Controls line number display in the source window.
  122.   SET PAUse - Controls scrolling in the dialog window.
  123.   SET PROlog - Controls the automatic execution of function prolog code.
  124.   SET RADix - Sets input radix.
  125.   SET REEvaluate - Controls expression reevaluation for EXAmine.
  126.   SET SENsitive - Controls case sensitivity for searches.
  127.   SET SOUrcepath - Sets search path for source files.
  128.   SET SYMbol - Controls symbolic disassembly.
  129.   SET TAB - Sets tab expansion size.
  130.   SET TANdem - Controls dual-monitor debugging.
  131.   SET TEMpdir - Specifies the directory for temporary files.
  132.   SET VERify - Controls memory segment accesses verification.
  133.   SHOw - Shows the status of any or all SET command parameters.
  134.   SOUrce - Enters source window.
  135.   ST - ST0 to ST7.  Displays or sets the 80387 stack elements and tag words.
  136.   STEp - Executes one source statement at a time.  Same as S.
  137.   STEp INto - Single-steps into a program statement.
  138.   STRucture - Defines a data structure.
  139.   SW - Displays or sets the value of the 80387 status word.
  140.   SWItch - Starts a SWITCH control statement.
  141.   SYMbol - Displays symbols.
  142.   TIMe - Displays the current time and date.
  143.   TRAce - Enables or disables execution trace.
  144.   TREal - Displays or sets treal (80-bit) object memory.
  145.   TSS - Displays or sets contents of a task state segment.
  146.   TW - Displays or sets the value of the 80387 tag word.
  147.   TYPe - Declares or redefines symbols.
  148.   U - Disassembles machine code.  Same as DASm.
  149.   UNTil - Terminates a REPEAT loop.
  150.   UP - Walks up the call stack.
  151.   USE - Selects 16- or 32-bit code disassembly.
  152.   VERsion - Displays debugger and target monitor version number.
  153.   VIEw - Displays or sets mode of source display in source window.
  154.   VIRtual - Converts an address to a virtual address.
  155.   WAIt - Pauses command processing for input from keyboard.
  156.   WHIle - Starts a WHILE loop.
  157.   WIDth - Selects 16- or 32-bit code disassembly.  Same as USE.
  158.   WORd - Displays or sets word object (16-bit) memory.
  159.   WRIte - Writes values to opened file.
  160. Syntax:
  161.     ! [command_string]
  162.  
  163.     The ! command lets you escape to the operating system's
  164. command shell.  To leave the shell and return to the debugger, type
  165. EXIT from the shell.  You can directly spawn a command by specifying
  166. the command after the !.
  167.  
  168. Examples:    
  169.     ->!             //Escapes to DOS shell.
  170.     C>dir           //DOS command to display file directory.
  171.     C>exit          //Returns to the debugger.
  172.     ->!cc test.c    //Spawns "cc test.c" directly.
  173. Syntax:
  174.     [$module_name][##procedure_name]#variable_name
  175.     [$module_name]#number
  176.  
  177.     # is a parser operator which can be used to access a variable
  178. outside of the current scope.  It is also used as a prefix for line-
  179. numbers.
  180.  
  181.     When used as a variable name prefix with no other prefix,
  182. i.e., "#variable", the variable is searched for using the normal
  183. scoping rules.  This provides a method to circumvent conflicts with
  184. commands or keywords.
  185.  
  186.     A module name and procedure name may be optionally specified
  187. in order to access a specific variable outside of the current scope.
  188. To access a global symbol, use the root module $, e.g., $#foo refers
  189. to the public instance of variable foo.
  190.  
  191.     Finally, when used as a numeric prefix, # indicates a
  192. line-number.
  193.  
  194. Examples:
  195.     ->#USER = 4             // Assigns 4 to a variable called USER.
  196.     ->$#USER = 4            // Assign to the global variable USER.
  197.     ->? $MOD1##PROC1#VAR1   // Display a local variable to a procedure.
  198.     ->$MOD1#STATIC1 = 3     // Assign to a variable local to a module.
  199.     ->G #14                 // Go to line 14 in the current module.
  200.     ->B $MOD1#14            // Break at line 14 in another module.
  201.  
  202. See Also:
  203.     ##, $, &, ?, SYMbol, EXAmine
  204. Syntax:
  205.     [$module_name]##procedure_name[#variable_name]
  206.  
  207.     ## is a parser operator which allows the specification
  208. of a procedure name outside of the current scope.
  209.  
  210.     If a module name precedes the ## operator, only procedure
  211. names within that module are searched.    If no leading module name
  212. is specified, only procedure names in the current module are
  213. searched.
  214.  
  215.     Typically, ## is needed only if two or more modules have
  216. local procedures with the same name.
  217.  
  218. Examples:
  219.     ->B $MODULE1##PROC3     // set a breakpoint at proc3 in module1
  220.     ->GO FROM $##foo        // go from global procedure foo
  221.  
  222. See Also:
  223.     #, $, &, SYMbol, Go, B
  224. Syntax:
  225.     $module_name
  226.  
  227.     $ is a parser operator which distinguishes module names
  228. from other symbolic names.  If no module_name is specified and $
  229. is used in conjunction with # or ##, then $ refers to the root
  230. module containing only global symbols.
  231.  
  232. Examples:
  233.     ->SET $mod2 = source.c  // Associate a source file with a module.
  234.     ->? $MOD1##PROC1#VAR1   // Display a local variable to a procedure.
  235.  
  236. See Also:
  237.     #, ##, $, &, ?, SYMbol, DIRectory MODule, SET
  238. Syntax:
  239.     &symbol
  240.  
  241.     & is an address operator which gives the address of a 
  242. symbolic object.
  243.  
  244. Examples:
  245.     ->GO FROM &START FOREVER
  246.     ->POINTER &POINTER_BUF LENGTH 20
  247.     ->TYPE long *ptr_to_long, long_buf[8] at &buf
  248.  
  249. See Also:    
  250.     #, ##, $, &, ?, SYMbol, Go, B
  251. Syntax:
  252.     // comment
  253.  
  254.     Indicates that everything that follows // till the end of a
  255. line is a comment, and should not be interpreted as part of the command.
  256.  
  257. Examples:
  258.     ->// A comment line
  259.     ->DIR MAC  // display directory of macros
  260. Syntax:
  261.     :macro_name  [actual_parameter_list]  
  262.  
  263.     Executes the specified macro.  "<*" and "*>" can be used 
  264. as parentheses in the actual parameter list.
  265.     The colon character is also used in macro definitions to
  266. specify a label.
  267.     You can also execute a macro by entering the macro name without
  268. the colon prefix.
  269.  
  270. Examples:
  271.     ->:AA 34, <* AX,BX,CL *>, #20   //3 actual parameters
  272.     ->:BB                           //No parameter
  273.     ->:AA :BB, <* AL,5,3.5*BX *>, :CC
  274.  
  275.     ->MACRO TEST1                  //Define a macro.
  276.     MD>a = 8;
  277.     MD>aa:
  278.     MD>if( c >= 999 )
  279.     MD>   goto aa
  280.     MD>orif( c <= 0 )
  281.     MD>   goto bb
  282.     MD>eif
  283.     MD>bb:                         //Specify a label called bb.
  284.     MD>EMACRO
  285.     ->
  286.  
  287. See Also:
  288.     MACro, DIRectory MACro, DISplay MACro, REMove MACro, PUT,
  289.     INClude, EDIT, MLIst
  290. Syntax:
  291.     command_line ::
  292.     continuation_of_line
  293.  
  294.     Allows the continuation of a command line to the next line.
  295.  
  296. Examples:
  297.     ->BYT &array[12] = 1941, 42, 1776, 1812, ::
  298.     ::>1492, 2001
  299. Syntax:
  300.     ? expression
  301.  
  302.     Displays the type, value, and address of an lvalue, any
  303. expression which can be used on the left-hand side of an assignment
  304. statement.  Rvalues are displayed as numeric values in multiple radices.
  305. An rvalue is any expression which can apprear on the right-hand side
  306. of an assignment statement.
  307.  
  308. Example:
  309.     ->? *(char *)0
  310.     ->? foo
  311.     ->? 'A'
  312.     ->? ++data
  313.     ->? *(byte *)ptr_to_short + *val
  314.     ->? _AX+1
  315.     ->? _AX=1
  316.  
  317. See Also:
  318.     EXAmine, SYMbol
  319. Syntax:
  320.     @ filename [LISt]  
  321.  
  322.     Executes the commands from the specified file.  If LISt is 
  323. specified, the commands in the command file are displayed on the
  324. console as they are being executed (default is NO LIST).  This
  325. command is identical to the INClude command.
  326.  
  327. Examples:  
  328.     ->@ "INIT.MAC" LIS
  329.     ->@ C:\TMP\GR1.INC
  330.  
  331. See Also:
  332.     MACro, JOUrnal, LISt
  333. Syntax:
  334.     B [n] [OFF  ]
  335.           [ON   ]
  336.           [CLEar]
  337.     B [n] [=] addr [type] [COUnt num] [IF  expr ] [THEN command]
  338.  
  339.     where n = 0 to 31, and type = {REAd,WRIte,ACCess,EXEcute}
  340.  
  341.     Breakpoints are used to specify addresses at which program
  342. execution is halted.  The breakpoints are effective in all execution
  343. commands except for GO FOREVER.
  344.  
  345.     B by itself will display all breakpoints; specifying n alone
  346. will display a specific breakpoint.  OFF, ON, and CLEar are used to
  347. disable, enable, or remove a breakpoint, respectively.  A disabled
  348. breakpoint will be inactive until enabled.  Normally, a breakpoint
  349. is enabled when first set, but if an error occurs when setting a
  350. breakpoint, the breakpoint may be defined but disabled.
  351.  
  352.     If no breakpoint number is specified when setting a breakpoint,
  353. the first unused breakpoint is allocated.  If no breakpoint number
  354. is specified with the CLEar qualifier, the breakpoint at the current
  355. execution pointer is cleared.  If no breakpoint number is specified
  356. with the ON or OFF qualifiers, all breakpoints are enabled or disabled.
  357. The assignment operator (=) is only required when the distinction
  358. between a breakpoint number and an address is ambiguous.
  359.  
  360.     The REAd and ACCess types are equivalent and cause a break
  361. if data is read or written at the specified address.  The default
  362. access type is EXEcute.
  363.  
  364.     If COUnt is specified, a break does not occur until an
  365. event is detected num times.
  366.  
  367.     A conditional breakpoint condition may be specified using the
  368. IF qualifier.  The condition can be any valid C expression.  If the
  369. expression evaluates to non-zero after the rest of the break condition
  370. is satisfied, then execution will be halted, otherwise execution
  371. continues.
  372.  
  373.     A command may be specified which is executed after a breakpoint
  374. is hit using the THEN qualifier.  IF and THEN qualifiers are not
  375. evaluated until after all other conditions are satisfied, including
  376. the COUnt condition.  Complex command sequences may be invoked after
  377. a breakpoint by invoking a macro in the THEN statement.
  378.  
  379. Examples:
  380.     ->B        // Display all breakpoints.
  381.     ->B 0        // Displays contents of breakpoint 0.
  382.     ->B 0 CLE    // Clears contents of and disables breakpoint 0.
  383.     ->B 0 OFF    // Disables breakpoint 0 but leaves it defined.
  384.     ->B 0 ON        // Re-enables breakpoint 0.
  385.     ->B 0 = 100h        // Sets breakpoint 0.
  386.     ->B #12            // Sets an arbitrary breakpoint to line 12.
  387.     ->B &FOO WRI COUNT 2    // Breaks after FOO is written twice.
  388.     ->B subr1 IF  i > 3     // Breaks if i > 3 when entering subr1
  389.     ->B cs:100h THEN ? i    // Display i before executing at 100h
  390.     ->B subr3 IF  i > 3  THEN :mac1 a,42
  391.  
  392. See Also:
  393.     Go, STEp, CAUse
  394. Syntax:
  395.     BINary
  396.  
  397.     Sets the default input radix to binary.
  398.  
  399. Example:
  400.     ->BIN
  401.  
  402. See Also:
  403.     DECimal, HEX, OCTal, SHOw
  404. Syntax:
  405.     BREak  
  406.  
  407.     Causes an immediate exit from the REPEAT-UNTIL, WHILE-EWHILE,
  408. FOR-EFOR loop or SWITCH-ESWITCH block.
  409.       
  410. Examples:  
  411.     ->MACRO TEST1        //Define a macro.
  412.     MD>switch( c )
  413.     MD>  case 30:
  414.     MD>  case 20:
  415.     MD>      c = a + b * c;
  416.     MD>      d = d / c + 8;
  417.     MD>      break;
  418.     MD>  default:
  419.     MD>      c >>= 1;       
  420.     MD>eswitch
  421.     MD>EMACRO
  422.  
  423.     ->WHILE 1
  424.     CD>  C = A - 1
  425.     CD>  IF !C
  426.     CD>     BREAK
  427.     CD>EWHILE
  428.  
  429. See Also:
  430.     CONtinue, GOTo
  431. Syntax:
  432.     BYTe [address] [= expression [, expression]...]
  433.                    [= "string"                    ]
  434.                    [[TO] address [= expression   ]]
  435.                    [LENgth n   [= expression     ]]
  436.  
  437.     Displays or alters memory contents in byte scope.  
  438. The base of two addresses that define an address range must be 
  439. the same. For example, BYT 200:40 TO 300:300 is invalid.
  440.  
  441. Examples:
  442.     ->BYT 40    //Display byte content of address DS:40
  443.     ->BYTE 100:40 TO 100:200
  444.     ->BYTE &BUF LENGTH 20
  445.     ->BYTE DS:SI = 23, 234Q, 4+6, AL, 38T
  446.     ->BYT ARRAY LEN 100 = 0
  447.     ->BYTE &string = "\tThis is a test program\n"
  448.  
  449. See Also:
  450.     CHAr, WORd, DWOrd, FLOat, DOUble, QWOrd, POInter, TREal
  451. Syntax:
  452.     CALlstack [n]
  453.  
  454.     For use with high-level languages.  Displays the current 
  455. chain of procedure calls in the program being executed.  A CALLSTACK 
  456. is a fully qualified list of references to procedures.  The reference 
  457. listed first is the current execution address.  The second entry is 
  458. the current address for the procedure that called the current 
  459. procedure, etc.  CALLSTACK shows the dynamic, run-time nesting of 
  460. the program as opposed to the static, lexical nesting.
  461.  
  462.     The CALLSTACK display may be incorrect if invoked before
  463. a valid stack frame is built.
  464.  
  465. Example:
  466.     ->CAL
  467.  
  468. See Also:
  469.     Go, TRAce, UP, DOWn
  470. Syntax:
  471.     SWItch [(] expression [)]
  472.     CASe constant expression:
  473.     [command]
  474.        .
  475.        .
  476.     [CASe constant expression:]
  477.     [command]
  478.        .
  479.        .
  480.     [DEFault:]
  481.     [command]
  482.        .
  483.        .
  484.     ESWitch
  485.  
  486.     The CASe command is used in the SWItch command.
  487.  
  488. Examples:
  489.     ->MACRO TEST1    //Define a macro
  490.     MD>SWITCH A
  491.     MD> CASE 0:
  492.     MD>    B = 10H
  493.     MD>    BREAK
  494.     MD> CASE 1:
  495.     MD>    B = B * B
  496.     MD>    BREAK
  497.     MD> DEFAULT:
  498.     MD>    STEP 5  //Execute 5 lines
  499.     MD>ESWITCH
  500.     MD>EMACRO
  501.     ->
  502.  
  503. See Also:
  504.     SWItch, DEFault
  505. Syntax:
  506.     CAUse
  507.  
  508.     Reports the cause of the last break in execution.
  509.  
  510. Example:
  511.     ->CAUse
  512.  
  513. See Also:
  514.     Go, B
  515. Syntax:
  516.     CHAr [address] [= expression [, expression]...]
  517.                    [= "string"                    ]
  518.                    [[TO] address [= expression   ]]
  519.                    [LENgth n   [= expression     ]]
  520.  
  521.     Displays or alters memory contents in byte scope.  The base 
  522. of two addresses that define an address range must be the same. For
  523. example, CHA 200:40 TO 300:300 is invalid.
  524.  
  525. Examples:
  526.     ->CHA    40    //Display byte content of address DS:40
  527.     ->CHAR 100:40 TO 100:200
  528.     ->CHAR &BUF LENGTH 20
  529.     ->CHAR DS:SI = 23, 234Q, 4+6, AL, 38T
  530.     ->CHA    ARRAY LEN 100 = 0
  531.     ->CHAR &string = "\tThis is a test program\n"
  532.  
  533. See Also:
  534.     BYTe, WORd, DWOrd, FLOat, DOUble, QWOrd, POInter, TREal
  535. Syntax:
  536.     CLOse  [n [, n]...]  
  537.  
  538.     where n = 0, 1, 2, 3, 4 or 5
  539.  
  540.     Closes previously opened file. If no file number n is 
  541. specified, all the opened files are closed.  Files are opened
  542. using the OPEN command.
  543.  
  544. Examples:  
  545.     ->CLOSE 1,2    //Closes file 1 and 2.
  546.     ->CLOSE        //Closes all opened files.
  547.  
  548. See Also:
  549.     OPEn, REAd, WRIte
  550. Syntax:
  551.     COMpare addr1 addr2 [[TO] addr3]
  552.                         [LENgth n  ]
  553.  
  554.     Compares two regions of memory and reports all differences.
  555.  
  556. Examples:
  557.     ->COM &byte1 &char1    // Compare char1 to byte1
  558.     ->COM 200:200 30:50 TO 30:300     // Compare memory from between
  559.     -> // 30:50 and 30:300 inclusive to that at 200:200 to 200:450.
  560.     ->COM ARRAY_BUF 40:50 len 50
  561.     ->COM &STRING1 &STRING2 LEN 20
  562.  
  563. See Also:
  564.     COPy, FINd
  565. Syntax:
  566.     CONtinue  
  567.  
  568.     Causes the next iteration of the REPEAT-UNTIL, WHILE-EWHILE,
  569. FOR-EFOR loop to begin. In the REPEAT-UNTIL and WHILE-EWHILE loop, 
  570. the test part is  executed immediately.  In the FOR-EFOR loop, control
  571. passes to the re-initialization step.
  572.       
  573. Examples:  
  574.     ->MACRO TEST1        //Define a macro.
  575.     MD>while a 
  576.     MD>  b = subr( &c, d );
  577.     MD>  if( b == a )
  578.     MD>     continue;
  579.     MD>  else
  580.     MD>     c = c << 3;
  581.     MD>     d = d % 3;
  582.     MD>  eif
  583.     MD>ewhile  
  584.     MD>EMACRO
  585.     ->WHILE I--
  586.     CD>   IF A != SUB( I, D )
  587.     CD>    CONTINUE
  588.     CD>   ORIF
  589.     CD>      D = A
  590.     CD>   EIF
  591.     CD>EWH
  592.  
  593. See Also:
  594.     BREak, GOTo
  595. Syntax:
  596.     COPy dest_addr = src_start_addr [[TO] src_end_addr]  
  597.                                     [LENgth n         ]
  598.  
  599.     Copies a block of memory contents from one location to 
  600. another.
  601.  
  602. Examples:
  603.     ->COPY &byte1 = &char1 //Copy one byte from char1 to byte1
  604.     ->COPY 200:200=30:50 TO 30:300  //Copy from memory between
  605.     -> //30:50 and 30:300 inclusive to destination starting at 
  606.     -> //200:200.
  607.     ->COPY ARRAY_BUF = 40:50 len 50
  608.     ->COPY &STRING1=&STRING2 LEN 20
  609.  
  610. See Also:
  611.     COMpare, FINd
  612. Syntax:
  613.     CW
  614.  
  615.     Displays or changes the value of the 80387 control word.
  616. The value of the control word is displayed followed by a slash.
  617. The contents can be altered by entering a new hexadecimal value.
  618. A carriage return alone will preserve the contents.
  619.  
  620. Examples:
  621.     ->CW
  622.       CONTROL WORD = 0000H / 1324H
  623.     ->CW
  624.       CONTROL WORD = 1324H / <CR>
  625.  
  626. See Also:
  627.     R387, ST, SW, TW
  628. Syntax:
  629.     DASm [addr1 [TO  addr2]]  [MIX]
  630.                 [LENgth n ]
  631.  
  632.     Displays a block of memory in 80386 assembly mnemonic form.
  633. The MIX qualifier causes source to be mixed in with the disassembly
  634. display.  This command is identical to the U command.
  635.  
  636. Examples:
  637.     ->DASM       //Default address is CS:EIP
  638.     ->DASM CS:(EIP+5) MIX
  639.     ->DASM &MAIN LEN 20
  640.  
  641. See Also:
  642.     VIEw, SOUrce, USE
  643. Syntax:
  644.     DECimal
  645.  
  646.     Sets the default input radix to decimal.
  647.  
  648. Example:
  649.     ->DEC
  650.  
  651. See Also:
  652.     BINary, HEX, OCTal, RADix
  653. Syntax:
  654.     SWItch [(] expression [)]
  655.     CASe constant expression:
  656.     [command]
  657.        .
  658.        .
  659.     [CASe constant expression:]
  660.     [command]
  661.        .
  662.        .
  663.     [DEFault:]
  664.     [command]
  665.        .
  666.        .
  667.     ESWitch
  668.  
  669.     The DEFault command is used in the SWItch command.
  670.  
  671. Examples:
  672.     ->MACRO TEST1    //Define a macro
  673.     MD>SWITCH A
  674.     MD> CASE 0:
  675.     MD>    B = 10H
  676.     MD>    BREAK
  677.     MD> CASE 1:
  678.     MD>    B = B * B
  679.     MD>    BREAK
  680.     MD> DEFAULT:
  681.     MD>    STEP 5  //Execute 5 lines
  682.     MD>ESWITCH
  683.     MD>EMACRO
  684.     ->
  685.  
  686. See Also:
  687.     SWItch, CASe
  688. Syntax:
  689.     There are three kinds of "DIRECTORY" commands:
  690.  
  691.     DIRectory MACro, DIRectory MODule, DIRectory STRucture.
  692.           
  693.     Please enter the command again.
  694.  
  695. See Also:
  696.     DISplay
  697. Syntax:
  698.     DIRectory MACro  
  699.  
  700.     Lists the names of all defined macros.
  701.  
  702. Example:
  703.     ->DIR MAC
  704.  
  705. See Also:
  706.     :, DISplay MACro, MACro, PUT, INClude, REMove MACro,
  707.     EDIT, MLIst
  708. Syntax:
  709.     DIRectory MODule  
  710.  
  711.     Lists all module names and corresponding source filenames.
  712.  
  713. Example:
  714.     ->DIR MODULE
  715.  
  716. See Also:
  717.     $, SET, SOUrce, SYMbol
  718. Syntax:
  719.     DIRectory STRucture
  720.  
  721.     Lists all structure names which have been defined or loaded.
  722.  
  723. Example:
  724.     ->DIR STR
  725.  
  726. See Also:
  727.     STRucture, DISplay STRucture
  728. Syntax:
  729.     There are three kinds of "DISPLAY" commands:
  730.  
  731.     DISplay MACro, DISplay STRucture, DISplay TRAce.
  732.  
  733.     Please enter the command again.
  734.  
  735. See Also:
  736.     DIRectory, TRAce
  737. Syntax:
  738.     DISplay MACro [macro_name  [, macro_name]...]  
  739.  
  740.     Displays all or some macro definitions.
  741.  
  742. Examples:
  743.     ->DIS MAC         //Displays all macro definitions.
  744.     ->DIS MAC AA, BB, CC //Displays macros AA, BB, CC.
  745.  
  746. See Also:
  747.     :, MACro, DIRectory MACro, REMove MACro, PUT, INClude,
  748.     EDIT, MLIst
  749. Syntax:
  750.     DISplay STRucture [structure_name  [, structure_name]...] 
  751.  
  752.     Lists the contents of the specified structures. If no 
  753. structure name is specified, all structure definitions in the 
  754. structure directory are listed.
  755.  
  756. Examples:  
  757.     ->DISPLAY STRUCTURE  //Lists all structure definitions.
  758.     ->DIS STR STR1, STR2
  759.  
  760. See Also:
  761.     STRucture, DIRectory STRucture
  762. Syntax:
  763.     DISplay TRAce [LINe ]       [ALL]
  764.                   [INStruction] [n]
  765.  
  766.     Displays the trace buffer.  LINe and INStruction displays 
  767. execution history in high level language statements and assembly
  768. language mnemonics, respectively.  The default is LINe.
  769.  
  770.     ALL displays the entire trace buffer.  n displays the last
  771. n steps.  The default is ALL.
  772.  
  773.     Note that tracing is enabled by the TRACE command.
  774.  
  775. Examples:
  776.     ->DIS TRA ALL  //Prints the whole trace buffer in line mode.
  777.     ->DIS TRA INS 6 //Prints last 6 machine instructions.
  778.  
  779. See Also:
  780.     TRAce
  781. Syntax:
  782.     DOUble [address] [= expression [, expression]...]
  783.                      [[TO] address [= expression   ]]
  784.                      [LENgth n   [= expression     ]]
  785.  
  786.     Displays or alters memory contents in double scope. The base
  787. of two addresses that define an address range must be the same. For 
  788. example, DOUBLE 200:40 TO 300:300 is invalid.
  789.  
  790. Examples:
  791.     ->DOUBLE 40
  792.     ->DOUBLE 100:40 TO 100:200
  793.     ->DOUBLE &double_buf LENGTH 20
  794.     ->DOUBLE DS:SI = 9.9, 8.8, 1.2+3.5
  795.     ->DOUBLE double_array LEN 100 = 0.0
  796.  
  797. See Also:
  798.     BYTe, CHAr, WORd, DWOrd, FLOat, QWOrd, POInter, TREal
  799. Syntax:
  800.     DOWn [n   ]
  801.          [HOMe]
  802.  
  803.     Walks down the call stack allowing access to the source and
  804. local variables of any active procedure.  If no argument is specified,
  805. the stack is walked down one level.  If HOMe is specified, the active
  806. scope returns to what it was before any UP or DOWN command was issued.
  807.  
  808.     If any execution command or command that directly changes
  809. the CS:EIP or EBP is given by the user while an UP or DOWN command
  810. is in effect, a DOWN HOME action is automatically performed before
  811. the command is executed.
  812.  
  813. Examples:
  814.     ->DOWN        // walk down one level
  815.     ->DOWN 3    // walk down three levels
  816.     ->DOWN HOME    // return to the initial scope
  817.  
  818. See Also:
  819.     UP, CALlstack, SOUrce, SYMbol
  820. Syntax:
  821.        DT \[selector_expr\] [.seg_element [= expr] ]
  822.  
  823.        where selector_expr is an expression that computes to a 16-bit number 
  824. or the name of a 16-bit register (such as TR, LDTR, CS, DS, etc.) which is 
  825. interpreted as a selector; seg_element is BASe, LIMit, G, B, P, D, DPL, C, 
  826. R, W, A, E, V, WCO, SOFf, SSEl, or TYPe; expr is an expression.  The
  827. notations \[ and \] indicate that the square bracket pair is part of
  828. the required syntax.
  829.  
  830.        Displays or modifies descriptors, descriptor components or 
  831. descriptor tables.  
  832.  
  833.        The descriptor components are as follows:
  834.  
  835.        Name          Size           Description
  836.        ---------------------------------------------------------------
  837.        BASe          32 bits        Segment base linear address
  838.        LIMit         20 bits        Segment limit
  839.        G             1 bit          Segment granularity, 0 = byte; 1 = page
  840.        B             1 bit          Stack pointer size, 0 = 16 bits
  841.        P             1 bit          Segment present, 1 = present
  842.        D             1 bit          Default operand lengths, 0 = 16 bits
  843.        DPL           2 bits         Descriptor privilege level
  844.        C             1 bit          Conforming segment
  845.        R             1 bit          Readable segment
  846.        W             1 bit          Writable segment
  847.        A             1 bit          Segment accessed
  848.        E             1 bit          Expand down segment
  849.        V             1 bit          User definable
  850.        WCO           5 bits         Gate dword count
  851.        SOFf          32 bits        Gate segment offset
  852.        SSEl          16 bits        Gate segment selector
  853.        TYPe          5 bits         Descriptor type
  854.          
  855. Examples:
  856.        ->DT[0CH]  //Displays the descriptor referenced by a 
  857.                 //selector value of 0CH.
  858.        ->DT[cs]  //Displays the descriptor referenced by cs register.
  859.        ->DT[cs].base  //Displays the base value of segment referenced by 
  860.                  //cs register.
  861.        ->DT[ldtr]  //Displays the LDT descriptor referenced by ldtr register.
  862.        ->DT[tr]  //Displays the task state segment (TSS) referenced by 
  863.                  //the TR register.
  864.  
  865. See Also:
  866.        GDT, IDT, LDT, TSS, PD, REGister
  867. Syntax:
  868.     DWOrd [address] [= expression [, expression]...]
  869.                     [[TO] address [= expression   ]]
  870.                     [LENgth n   [= expression     ]]
  871.  
  872.     Displays or alters memory contents in double word scope. 
  873. The base of two addresses that define an address range must be the 
  874. same. For example, DWORD 200:40 TO 300:300 is invalid.
  875.  
  876. Examples:
  877.     ->DWORD 40 //Display double word at address DS:40
  878.     ->DWORD 100:40 TO 100:200
  879.     ->DWORD &unsigned_long_buf LENGTH 20
  880.     ->DWORD DS:SI = 23, 234Q, 4+6, AL, 38T
  881.     ->DWORD unsigned_long_array LEN 100 = 0
  882.  
  883. See Also:
  884.     BYTe, CHAr, WORd, FLOat, DOUble, QWOrd, POInter, TREal
  885. Syntax:
  886.     E expression
  887.     EXAmine expression
  888.  
  889.     Opens a symbol examination window.
  890.  
  891. Example:
  892.     ->e *(char *)0
  893.     ->e foo
  894.  
  895. See Also:
  896.     ?, SYMbol, =
  897. Syntax:
  898.     ED filename
  899.  
  900.     Invokes the editor defined in the debugger EDITOR environment
  901. variable to edit the specified file.  It should be noted that editing
  902. a source file of the program being debugged can cause source line-
  903. number information to be rendered incorrect.
  904.  
  905. Example:
  906.     ->ED foo.c
  907.  
  908. See Also:
  909.     SOUrce, SET EDItor, ENV
  910. Syntax:
  911.     ED MACro name
  912.  
  913.     Invokes the editor defined in the debugger EDITOR environment
  914. variable for the creation or editing of a macro.
  915.  
  916. Note:
  917.     You should not use macro names that conflict with the debugger's
  918. commands or symbol names in your program.  Otherwise, the macro definitions 
  919. will override them.
  920.     You can execute macros by typing the macro names with or without
  921. the colon prefix.
  922.  
  923. Example:
  924.     ->ED MAC FOO
  925.  
  926. See Also:
  927.     :, MACro, DIRectory MACro, DISplay MACro, REMove MACro,
  928.     PUT, INClude, MLIst, ENV, SET EDItor
  929. Syntax:
  930.     EDIT filename
  931.  
  932.     Invokes the editor defined in the debugger EDITOR environment
  933. variable to edit the specified file.  It should be noted that editing
  934. a source file of the program being debugged can cause source line-
  935. number information to be rendered incorrect.
  936.  
  937. Example:
  938.     ->EDIT foo.c
  939.  
  940. See Also:
  941.     SOUrce, SET EDItor, ENV
  942. Syntax:
  943.     EDIT MACro name
  944.  
  945.     Invokes the editor defined in the debugger EDITOR environment
  946. variable for the creation or editing of a macro.
  947.  
  948. Note:
  949.     You should not use macro names that conflict with the debugger's
  950. commands or symbol names in your program.  Otherwise, the macro definitions 
  951. will override them.
  952.     You can execute macros by typing the macro names with or without
  953. the colon prefix.
  954.  
  955. Example:
  956.     ->EDIT MAC FOO
  957.  
  958. See Also:
  959.     :, MACro, DIRectory MACro, DISplay MACro, REMove MACro,
  960.     PUT, INClude, MLIst, ENV, SET EDItor
  961. Syntax:
  962.     FOR [expression1-1,...];[expression2];[expression3-1,...]  
  963.     [command]
  964.        :
  965.     EFOr  
  966.  
  967.     The EFOr command is used to terminate a FOR loop.
  968.  
  969. Example:
  970.     ->MACRO TEST2    //Define macro TEST2
  971.     MD>FOR (A=0,B=0; A<=0; A++)
  972.     MD>  C=ABC(&B, *PTR)
  973.     MD>  C = C >> 4
  974.     MD>EFOR
  975.     MD>EMACRO
  976.  
  977. See Also:
  978.     FOR, EIF, EWHile, ESWitch
  979. Syntax:
  980.     IF expression
  981.     [command]
  982.        .
  983.        .
  984.     [ORIf expression]
  985.     [command]
  986.        .
  987.        .
  988.     [ELSe]
  989.     [command]
  990.        .
  991.        .
  992.     EIF
  993.  
  994.     The EIF command is used to terminate an IF statement.
  995.  
  996. Example:
  997.     ->MACRO TEST1
  998.     MD>IF  A>0 
  999.     MD>    IF B++ != 0 
  1000.     MD>    C--
  1001.     MD>    ORIF B < 3 
  1002.     MD>    D += 2
  1003.     MD>    EIF
  1004.     MD>ELSE
  1005.     MD>    A=0
  1006.     MD>EIF
  1007.     MD>EMACRO
  1008.     ->
  1009.  
  1010. See Also:
  1011.     IF, EFOr, EWHIle, ESWitch
  1012. Syntax:
  1013.     IF expression
  1014.     [command]
  1015.        .
  1016.        .
  1017.     [ORIf expression]
  1018.     [command]
  1019.        .
  1020.        .
  1021.     [ELSe]
  1022.     [command]
  1023.        .
  1024.        .
  1025.     EIF
  1026.  
  1027.     The ELSe command is used in the IF statement.
  1028.  
  1029. Example:
  1030.     ->MACRO TEST1
  1031.     MD>IF  A>0 
  1032.     MD>    IF B++ != 0 
  1033.     MD>    C--
  1034.     MD>    ORIF B < 3 
  1035.     MD>    D += 2
  1036.     MD>    EIF
  1037.     MD>ELSE
  1038.     MD>    A=0
  1039.     MD>EIF
  1040.     MD>EMACRO
  1041.     ->
  1042.  
  1043. See Also:
  1044.     IF, ORIF, EIF
  1045. Syntax:
  1046.     MACro  macro_name  
  1047.     [command]
  1048.        :
  1049.     EMAcro  
  1050.  
  1051.     The EMAcro command is used to complete a macro definition.
  1052.  
  1053. Example:
  1054.     ->MAC AA        //Define macro AA
  1055.     MD>%0
  1056.     MD>STEP %1
  1057.     MD>BYT 50:3 to %2
  1058.     MD>GO TIL %3
  1059.     MD>EMA
  1060.     ->
  1061.  
  1062. See Also:
  1063.     :, MACro, DIRectory MACro, DISplay MACro, REMove MACro, PUT,
  1064.     INClude, EDIt, MLIst
  1065. Syntax:
  1066.     ENV [filename]
  1067.  
  1068.     ENV displays parameters of the configurable environment, and
  1069. optionally allows the environment to be saved to a file.  Environment
  1070. parameters displayed include:
  1071.  
  1072.     BAUD = n        baud rate for remote debugging
  1073.     PORT = n        communications port number for remote debugging
  1074.         BARLINE = n     vertical position of Source/Dialog separator bar
  1075.     DIALOG = n      maximum depth of the dialog window
  1076.     HISTORY = n     maximum depth of the history window
  1077.     TAB = n         tab expansion size
  1078.     KEEPHEAP = n    minimum start-up heap size in 4 Kbyte pages
  1079.     STARF = file    start-up command filename
  1080.     COLOR = file    color values file for windows
  1081.     EDITOR = file    editor to be used for macro editing
  1082.     SOURCEPATH path source file search path (semicolon separated)
  1083.     HELPDIR dir     helpfile directory
  1084.     TEMPDIR dir     temporary file directory
  1085.     REGWN = win     register window size and position
  1086.     MEMWN = win     memory window size and position
  1087.     RTRACEWN = win  run-trace window size and position
  1088.     CSTACKWN = win  call-stack window size and position
  1089.     BREAKWN = win   break window size and position
  1090.     REEVALUATE bool re-evaluate watched expressions setting
  1091.     SENSITIVE bool  case-sensitive symbol matching setting
  1092.     MLIST bool      macro list setting
  1093.     BEEP bool       audible error beep setting
  1094.     PROLOG bool     automatic prolog execution setting
  1095.     CRREPEAT bool   command repeat on C/R setting
  1096.     SYMBOL bool     symbolic disassembly setting
  1097.     CODE bool       source-window object code display setting
  1098.     NUMBER bool     source-window line-number setting
  1099.     MAIN bool       start-debugging-at-function-main setting
  1100.     PAUSE bool      pause-in-full-dialog-window setting
  1101.     MOUSE bool      mouse support setting
  1102.     EGA bool        EGA-43/VGA-50 line mode setting
  1103.     FLIP bool       display program output during execution setting
  1104.     TANDEM bool     dual-monitor debugging setting
  1105.     HOME name       home window, name can be SOURCE or COMMAND
  1106.     RADIX base      input number base setting (HEX, DEC, OCT, or BIN)
  1107.     <key> = string  key macro definitions
  1108.  
  1109. The start-up environment file's name can be set in the MDBENV MS-DOS
  1110. environment variable.  The default name is MDB.ENV.
  1111.  
  1112. Examples:
  1113.     ->ENV
  1114.     ->ENV FOO.ENV
  1115.  
  1116. See Also:
  1117.     SET, SHOW
  1118. Syntax:
  1119.     ESCape  
  1120.  
  1121.     The ESCape command stops macro processing.  It is used in
  1122. macro definitions to abort processing.
  1123.  
  1124. Example:  
  1125.     ->IF AX > 0
  1126.     CD>ESCAPE   //Returns to command mode.
  1127.     CD>ELSE
  1128.     CD>AX++
  1129.     CD>EIF
  1130.     ->
  1131.  
  1132. See Also:
  1133.     BREak, CONtinue, GOTo
  1134. Syntax:
  1135.     SWItch expression
  1136.     CASe constant expression:
  1137.     [command]
  1138.        .
  1139.        .
  1140.     [CASe constant expression:]
  1141.     [command]
  1142.        .
  1143.        .
  1144.     [DEFault:]
  1145.     [command]
  1146.        .
  1147.        .
  1148.     ESWitch
  1149.  
  1150.     The ESWitch command is used to terminate a SWItch statement.
  1151.  
  1152. Examples:
  1153.     ->MACRO TEST1    //Define a macro
  1154.     MD>SWITCH A
  1155.     MD> CASE 0:
  1156.     MD>    B = 10H
  1157.     MD>    BREAK
  1158.     MD> CASE 1:
  1159.     MD>    B = B * B
  1160.     MD>    BREAK
  1161.     MD> DEFAULT:
  1162.     MD>    STEP 5  //Execute 5 lines
  1163.     MD>ESWITCH
  1164.     MD>EMACRO
  1165.     ->
  1166.  
  1167. See Also:
  1168.     SWItch, EFOr, EIF, EWHile
  1169. Syntax:
  1170.     WHIle expression
  1171.     [command]
  1172.        .
  1173.        .
  1174.     EWHile
  1175.  
  1176.     The EWHile command is used to terminate a WHIle statement.
  1177.  
  1178. Example:
  1179.     ->MACRO TEST1    //Define a macro
  1180.     MD>WHILE A
  1181.     MD> STEP
  1182.     MD> A
  1183.     MD>EWHILE
  1184.     MD>EMACRO
  1185.     ->
  1186.  
  1187. See Also:
  1188.     WHIle, EFOr, EIF, ESWitch
  1189. Syntax:
  1190.     E expression
  1191.  
  1192.     Opens a symbol examination window.
  1193.  
  1194. Example:
  1195.     ->e *(char *)0
  1196.     ->e foo
  1197.  
  1198. See Also:
  1199.     ?, SYMbol, =
  1200. Syntax:
  1201.     EXAmine expression
  1202.     E expression
  1203.  
  1204.     Opens a symbol examination window.
  1205.  
  1206. Example:
  1207.     ->e *(char *)0
  1208.     ->e foo
  1209.  
  1210. See Also:
  1211.     ?, SYMbol, =
  1212. Syntax:
  1213.     EXIt  
  1214.  
  1215.     Exits from the debugger.  This command closes all opened files
  1216. and deletes all temporary files that are created by the debugger.  When
  1217. in remote mode, unlike QUIT, EXIT causes the remote monitor to terminate.
  1218.  
  1219. Example:  
  1220.     ->EXIT
  1221.  
  1222. See Also:
  1223.     QUIt
  1224. Syntax:
  1225.     FINd addr1 {[TO] addr2} {"string"       }
  1226.                {LENgth n  } {expr [,expr]...}
  1227.  
  1228.     Searches the specified memory range for the specified value
  1229. or string of values.
  1230.  
  1231. Examples:
  1232.     ->FIN &buf[12] LEN 8192 "Copyright"
  1233.     ->FIN DS:100H TO DS:0FFFFH 1941,2001
  1234.  
  1235. See Also:
  1236.     COMpare, COPy
  1237. Syntax:
  1238.     FLAg
  1239.  
  1240.     status_flag [= value]  [, status_flag [= value]]...
  1241.  
  1242.     where status_flag may be: 
  1243.     AF, CF, DF, IF, IOPL, NT, OF, PF, RF, SF, TF, VM, or ZF.
  1244.  
  1245.     Displays or alters the 80386 flags register.  When a new
  1246. flag value is specified, any non-zero value is treated as 1.  Note
  1247. that IOPL is two bits; the other flags are one bit.
  1248.  
  1249. Examples:
  1250.     ->FLA                //Display all flags
  1251.     ->CF, OF, PF            //Display CF, OF, PF
  1252.     ->CF = 1, IF = 1, AF = 1    //Set flag value
  1253.  
  1254. See Also:
  1255.     REGister
  1256. Syntax:
  1257.     FLOat [address] [= expression [, expression]...]
  1258.                     [[TO] address [= expression   ]]
  1259.                     [LENgth n   [= expression     ]]
  1260.  
  1261.     Displays or alters memory contents in float scope. The base 
  1262. of two addresses that define an address range must be the same. For 
  1263. example, FLOAT 200:40 TO 300:300 is invalid.
  1264.  
  1265. Examples:
  1266.     ->FLOAT 40
  1267.     ->FLOAT 100:40 TO 100:200
  1268.     ->FLOAT &float_buf LENGTH 20
  1269.     ->FLOAT DS:SI = 9.9, 8.8, 1.2+3.5
  1270.     ->FLOAT float_array LEN 100 = 0.0
  1271.  
  1272. See Also:
  1273.     BYTe, CHAr, WORd, DWOrd, DOUble, QWOrd, POInter, TREal
  1274. Syntax:
  1275.     FOR [expression1];[expression2];[expression3]  
  1276.     [command]
  1277.        :
  1278.     EFOr  
  1279.  
  1280.     The FOR-EFOr loop command is equivalent to:
  1281.        [expression1]
  1282.         :
  1283.        WHILE  expression2
  1284.        [command]
  1285.         :
  1286.        [expression3]
  1287.         :
  1288.        EWHILE
  1289.  
  1290.     Note: If expression2 is not specified, it is taken as TRUE.
  1291.  
  1292. Examples:  
  1293.     ->MACRO TEST1            //Define a macro. 
  1294.     MD>for( a=0,b=0; a<=0; a++ )
  1295.     MD>   c=abc( &b, *ptr )          
  1296.     MD>   c = c >> 4             
  1297.     MD>   d |= b          
  1298.     MD>efor               
  1299.     MD>EMACRO
  1300.     ->MACRO TEST2            //Define a macro.
  1301.     MD>for(;;)
  1302.     MD>   if( !( c = get_data() ) )
  1303.     MD>       break;
  1304.     MD>   else
  1305.     MD>       buf[i++] = c;
  1306.     MD>   eif
  1307.     MD>efor
  1308.     MD>EMACRO
  1309.     ->FOR I = 0; I < 10; I++
  1310.     CD>   BUF[I] = 0;
  1311.     CD>EFOR
  1312.  
  1313. See Also:
  1314.     IF, WHIle, REPeat, EFOr, MACro, INClude
  1315. Syntax:
  1316.     FREe
  1317.  
  1318.     Displays the size of remaining free memory.  In remote
  1319. mode, FREe displays both the host's and target's free memory.
  1320.  
  1321. Example:
  1322.     ->FRE
  1323.  
  1324. See Also:
  1325.     LOAd
  1326. Syntax:
  1327.        GDT [ \[index_expr\] [.LDT\[expr\] ] [.seg_element [= expr] ] ]
  1328.  
  1329.        where index_expr is an index into the table; seg_element is 
  1330. BASe, LIMit, G, B, P, D, DPL, C, R, W, A, E, V, WCO, SOFf, SSEl, or TYPe;
  1331. expr is an expression.  The notations \[ and \] indicate that the square 
  1332. bracket pair is part of the required syntax.
  1333.  
  1334.        Displays or modifies descriptors or descriptor components of 
  1335. the global descriptor table.  The index value is the upper 13 bits of a
  1336. 16-bit selector.  A selector that references the GDT has bit 2 equals 0.
  1337. You can obtain the corresponding table index by dividing the selector by 8.
  1338.  
  1339.        The descriptor components are as follows:
  1340.  
  1341.        Name          Size           Description
  1342.        ---------------------------------------------------------------
  1343.        BASe          32 bits        Segment base linear address
  1344.        LIMit         20 bits        Segment limit
  1345.        G             1 bit          Segment granularity, 0 = byte; 1 = page
  1346.        B             1 bit          Stack pointer size, 0 = 16 bits
  1347.        P             1 bit          Segment present, 1 = present
  1348.        D             1 bit          Default operand lengths, 0 = 16 bits
  1349.        DPL           2 bits         Descriptor privilege level
  1350.        C             1 bit          Conforming segment
  1351.        R             1 bit          Readable segment
  1352.        W             1 bit          Writable segment
  1353.        A             1 bit          Segment accessed
  1354.        E             1 bit          Expand down segment
  1355.        V             1 bit          User definable
  1356.        WCO           5 bits         Gate dword count
  1357.        SOFf          32 bits        Gate segment offset
  1358.        SSEl          16 bits        Gate segment selector
  1359.        TYPe          5 bits         Descriptor type
  1360.  
  1361. Examples:
  1362.        ->GDT  //Displays all the entries in the GDT.
  1363.        ->GDT[1T].P=1  //Writes the present bit of GDT[1].
  1364.        ->GDT[CS/8] // Displays the entry in GDT referenced by
  1365.                  // the CS register.
  1366.        ->GDT[10]=GDT[5].LDT[7] //Makes one table entry the same 
  1367.              //as another.
  1368.        ->GDT[7T].LDT  //Displays the LDT whose descriptor is the
  1369.              //seventh entry in the GDT.
  1370.        ->GDT[7].LDT[4].LIMIT=12345H  //Writes the limit field of 
  1371.              //entry four in the LDT whose descriptor is entry 
  1372.              //seven in the GDT.
  1373.  
  1374. See Also:
  1375.        IDT, LDT, DT, TSS, PD, REGister (GDTLIM, GDTBAS)
  1376. Syntax:
  1377.     GLObal  
  1378.  
  1379.     Displays all global symbols.
  1380.  
  1381. Example:
  1382.     ->GLOBAL
  1383.  
  1384. See Also:
  1385.     ?, EXAmine, SYMbol, LOCal
  1386. Syntax:
  1387.         G [FROm address] [FORever]
  1388.                      [[TILl] address]  
  1389.                      [[TILl] RETurn [level]]
  1390.                      [[TILl] CALl]
  1391.  
  1392.     Starts target program execution.  If no argument is specified,
  1393. program execution begins from the current program counter.  Program
  1394. execution will be halted if a breakpoint is reached.
  1395.  
  1396.     The "FROM address" parameter is used to specify the starting
  1397. address for program execution.  The address must be a virtual address
  1398. or an offset into the current code segment.  It can neither be a
  1399. physical nor a linear address.
  1400.  
  1401.     If the argument is FORever, all previously specified breakpoints
  1402. (see B) are disabled, and the CPU executes forever (or until the program
  1403. is killed).
  1404.  
  1405.     If RETurn is specified, execution terminates after the code
  1406. has returned from the specified number of levels of call nesting.  The
  1407. default is to return from the current procedure (i.e., 1 level).
  1408.  
  1409.     If CALl is specified, execution continues until a CALL or INT
  1410. instruction is executed.
  1411.  
  1412. Examples:  
  1413.     ->G FROM &START FOREVER
  1414.     ->G TIL #40
  1415.     ->G RET
  1416.     ->G CALL
  1417.  
  1418. See Also:
  1419.     B, Step, IStep, CALlstack, LOAd, RUN
  1420. Syntax:
  1421.         GO [FROm address] [FORever]
  1422.                       [[TILl] address]  
  1423.                       [[TILl] RETurn [level]]
  1424.                       [[TILl] CALl]
  1425.  
  1426.     Starts target program execution.  If no argument is specified,
  1427. program execution begins from the current program counter.  Program
  1428. execution will be halted if a breakpoint is reached.
  1429.  
  1430.     The "FROM address" parameter is used to specify the starting
  1431. address for program execution.  The address must be a virtual address
  1432. or an offset into the current code segment.  It can neither be a
  1433. physical nor a linear address.
  1434.  
  1435.     If the argument is FORever, all previously specified breakpoints
  1436. (see B) are disabled, and the CPU executes forever (or until the program
  1437. is killed).
  1438.  
  1439.     If RETurn is specified, execution terminates after the code
  1440. has returned from the specified number of levels of call nesting.  The
  1441. default is to return from the current procedure (i.e., 1 level).
  1442.  
  1443.     If CALl is specified, execution continues until a CALL or INT
  1444. instruction is executed.
  1445.  
  1446. Examples:  
  1447.     ->GO FROM &START FOREVER
  1448.     ->GO TIL #40
  1449.     ->GO RET
  1450.     ->GO CALL
  1451.  
  1452. See Also:
  1453.     B, Step, IStep, CALlstack, LOAd, RUN
  1454. Syntax:    
  1455.     GOTo macro_label
  1456.  
  1457.     Causes program execution to be transferred to the specified
  1458. macro-label.
  1459.     Note that GOTO command cannot be used to jump into 
  1460. REPEAT-UNTIL, WHILE-EWHILE, FOR-EFOR loop, or IF-EIF, SWITCH-ESWITCH
  1461. block, but can be used to jump out of these loops or blocks.
  1462.       
  1463. Examples:  
  1464.     ->MACRO TEST1        //Define a macro.
  1465.     MD>a = 8;
  1466.     MD>aa:
  1467.     MD>if( c >= 999 )
  1468.     MD>   goto aa
  1469.     MD>orif( c <= 0 )
  1470.     MD>   goto bb
  1471.     MD>eif
  1472.     MD>bb:   
  1473.     MD>EMACRO
  1474.     ->
  1475.  
  1476. See Also:
  1477.     BREak, CONtinue, ESCape, MACro
  1478. Syntax:
  1479.     HALt
  1480.  
  1481.     In remote execution mode, halts the remote program.
  1482.  
  1483. Example:
  1484.     ->HALt
  1485.  
  1486. See Also:
  1487.     Go, CAUse
  1488. Syntax:
  1489.     HELp ["command_keyword"]  
  1490.          [ command_keyword ]
  1491.  
  1492.     Shows you how to use debugger commands.  If no parameter
  1493. is specified, the command summary will be displayed.  If a command
  1494. keyword is given, the syntax and example of usage of the command
  1495. will be displayed.
  1496.  
  1497. Examples:  
  1498.     ->HELP            
  1499.     ->HELP GO
  1500.     ->HELP "BYTE"
  1501. Syntax:
  1502.     HEX
  1503.  
  1504.     Sets the default input radix to hexadecimal.
  1505.  
  1506. Example:
  1507.     ->HEX
  1508.  
  1509. See Also:
  1510.     BINary, DECimal, OCTal, SHOw
  1511. Syntax:
  1512.        IDT [ \[index_expr\] [.seg_element [= expr] ] ]
  1513.  
  1514.        where index_expr is an index into the table; seg_element is 
  1515. BASe, LIMit, G, B, P, D, DPL, C, R, W, A, E, V, WCO, SOFf, SSEl, or TYPe;
  1516. expr is an expression.  The notations \[ and \] indicate that the square 
  1517. bracket pair is part of the required syntax.
  1518.  
  1519.        Displays or modifies descriptors or descriptor components 
  1520. of the interrupt descriptor table.  
  1521.  
  1522.        The descriptor components are as follows:
  1523.  
  1524.        Name          Size           Description
  1525.        ---------------------------------------------------------------
  1526.        BASe          32 bits        Segment base linear address
  1527.        LIMit         20 bits        Segment limit
  1528.        G             1 bit          Segment granularity, 0 = byte; 1 = page
  1529.        B             1 bit          Stack pointer size, 0 = 16 bits
  1530.        P             1 bit          Segment present, 1 = present
  1531.        D             1 bit          Default operand lengths, 0 = 16 bits
  1532.        DPL           2 bits         Descriptor privilege level
  1533.        C             1 bit          Conforming segment
  1534.        R             1 bit          Readable segment
  1535.        W             1 bit          Writable segment
  1536.        A             1 bit          Segment accessed
  1537.        E             1 bit          Expand down segment
  1538.        V             1 bit          User definable
  1539.        WCO           5 bits         Gate dword count
  1540.        SOFf          32 bits        Gate segment offset
  1541.        SSEl          16 bits        Gate segment selector
  1542.        TYPe          5 bits         Descriptor type
  1543.  
  1544. Examples:
  1545.        ->IDT  //Displays all entries in the IDT.
  1546.        ->IDT[1T]  //Displays the second entry in the IDT.
  1547.  
  1548. See Also:
  1549.        DT, GDT, LDT, TSS, PD, REGister (IDTLIM, IDTBAS)
  1550. Syntax:
  1551.     IF expression  
  1552.     [command]
  1553.        :
  1554.     [ORIf expression]  
  1555.     [command]
  1556.        :
  1557.     [ELSe]  
  1558.     [command]
  1559.        :
  1560.     EIF  
  1561.  
  1562.     If any expression is TRUE (non-zero), the commands 
  1563. associated with it are executed. If all of the expressions are 
  1564. FALSE (zero), either no action at all or the commands associated 
  1565. with ELSE are executed,  This command can be formed by an IF-EIF, 
  1566. IF-ELSE-EIF, IF-ORIF-EIF, or IF-ORIF-ELSE-EIF clause. 
  1567.  
  1568. Examples:  
  1569.     ->MACRO TESTIF      //Define a macro.
  1570.     MD>IF A + B >= %0    
  1571.     MD>STEP          
  1572.     MD>ORIF A + B < %1       
  1573.     MD>GO TIL %2
  1574.     MD>ELSE          
  1575.     MD>A             
  1576.     MD>B             
  1577.     MD>EIF           
  1578.     MD>EMACRO        
  1579.     ->MACRO TTT
  1580.     MD>if( a > 0 )
  1581.     MD>    if( b++ != 0 )
  1582.     MD>    c--
  1583.     MD>    d--
  1584.     MD>    orif( b < -3 )
  1585.     MD>    c >>= 2;
  1586.     MD>    eif
  1587.     MD>else
  1588.     MD>    a = 0
  1589.     MD>eif
  1590.     MD>EMACRO
  1591.     ->
  1592.  
  1593. See Also:
  1594.     SWItch, FOR, WHIle, REPeat, EIF, MACro, INClude
  1595. Syntax:
  1596.     INClude filename [LISt]  
  1597.  
  1598.     Execute the commands from the specified file.  If LISt is 
  1599. specified, the commands in the command file are displayed on the 
  1600. console as they are being executed (default is NO LIST).  This
  1601. command is identical to the @ command.
  1602.  
  1603. Examples:  
  1604.     ->INC "INIT.MAC" LIS
  1605.     ->INC C:\TMP\GR1.INC
  1606.  
  1607. See Also:
  1608.     MACro, JOUrnal, LISt
  1609. Syntax:
  1610.     INPut  [address =] port_no  [W]  
  1611.                                 [D]
  1612.  
  1613.     Reads the contents from the specified input port and displays 
  1614. it on the console.  The contents are the data involved in the last 
  1615. I/O operation performed via the port.  If the qualifier "W" is 
  1616. specified, the port is 16-bit.  Otherwise, it is 8-bit.  If the 
  1617. qualifier "D" is specified, the port is 32-bit.  If an "address" is 
  1618. specified, the contents of the input port will be stored at the 
  1619. specified address.
  1620.  
  1621. Examples:
  1622.     ->INPUT 20H
  1623.     ->INP port_index W
  1624.  
  1625. See Also:
  1626.     OUTput
  1627. Syntax:
  1628.     {IStep|IS}  [INTo] [n]
  1629.  
  1630.     Execute the next n assembly-language statements (the default 
  1631. is one statement).  The INTo parameter indicates whether to step
  1632. into a procedure.  Without the INTo parameter, a procedure call
  1633. is treated as one step.
  1634. Examples:  
  1635.     ->istep 10
  1636.     ->is
  1637.  
  1638. See Also:
  1639.     GO, STEp
  1640. Syntax:
  1641.     JOUrnal filename [KEYboard] [APPend]
  1642.  
  1643.     Creates a text file with the specified filename and records 
  1644. the user's entered commands into the specified file.  The command file 
  1645. created may be used in the INClude command.
  1646.  
  1647.     If KEYboard is specified, the journal file will store all
  1648. entered keystrokes, including those used in windows, rather than
  1649. only the commands entered on the command line.
  1650.  
  1651.     If the specified file already exists, and the APPend qualifier
  1652. is specified, then the existing file will be appended rather than
  1653. over-written.
  1654.  
  1655.     This command may be disabled with the NO JOUrnal command.
  1656.  
  1657. Example:  
  1658.     ->JOURNAL MYDEBUG.LOG
  1659.  
  1660. See Also:
  1661.     LISt, INClude, NO JOUrnal
  1662. Syntax:
  1663.        LDT [ \[index_expr\] [.seg_element [= expr] ] ]
  1664.  
  1665.        where index_expr is an index into the table; seg_element is BASe, 
  1666. LIMit, G, B, P, D, DPL, C, R, W, A, E, V, WCO, SOFf, SSEl, or TYPe;
  1667. expr is an expression.  The notations \[ and \] indicate that the square 
  1668. bracket pair is part of the required syntax.
  1669.  
  1670.        Displays or modifies descriptors or descriptor components 
  1671. of the local descriptor tables.  The index value is the upper 13 bits of a
  1672. 16-bit selector.  A selector that references the LDT has bit 2 equals 1.
  1673. You can obtain the corresponding table index by dividing the selector by 8.
  1674.  
  1675.        The descriptor components are as follows:
  1676.  
  1677.        Name          Size           Description
  1678.        ---------------------------------------------------------------
  1679.        BASe          32 bits        Segment base linear address
  1680.        LIMit         20 bits        Segment limit
  1681.        G             1 bit          Segment granularity, 0 = byte; 1 = page
  1682.        B             1 bit          Stack pointer size, 0 = 16 bits
  1683.        P             1 bit          Segment present, 1 = present
  1684.        D             1 bit          Default operand lengths, 0 = 16 bits
  1685.        DPL           2 bits         Descriptor privilege level
  1686.        C             1 bit          Conforming segment
  1687.        R             1 bit          Readable segment
  1688.        W             1 bit          Writable segment
  1689.        A             1 bit          Segment accessed
  1690.        E             1 bit          Expand down segment
  1691.        V             1 bit          User definable
  1692.        WCO           5 bits         Gate dword count
  1693.        SOFf          32 bits        Gate segment offset
  1694.        SSEl          16 bits        Gate segment selector
  1695.        TYPe          5 bits         Descriptor type
  1696.  
  1697. Examples:
  1698.        ->LDT  //Displays all entries in the LDT.
  1699.        ->LDT[12H]  //Displays an entry in the LDT.
  1700.        ->LDT[CS/8] // Displays the entry in LDT referenced by
  1701.                  // the CS register.
  1702.        ->LDT[2T].BASE=12345678H //Writes base field of LDT(2).
  1703.  
  1704. See Also:
  1705.        DT, GDT, IDT, TSS, PD, REGister
  1706. Syntax:
  1707.     LNE address
  1708.  
  1709.     Converts the address to a linear address.  Note that
  1710. the abbreviation for this command is LNE and not LIN, in order
  1711. to distinguish it from the LINE command.
  1712.  
  1713. Examples:
  1714.     ->LNE 0D420000HP   //Converts a physical address to a linear 
  1715.         // address, suffix P indicates a physical address.
  1716.     ->LNE 1444:5678    //Converts a real mode virtual address.
  1717.     ->LNE 170H:14H:0    //Converts a protected mode virtual address.
  1718.       // The leftmost field is the local descriptor table field,
  1719.       // the middle field is the segment selector field
  1720.       // the rightmost field is the offset field.
  1721.  
  1722. See Also:
  1723.     PHYsical
  1724. Syntax:
  1725.     LISt filename [APPend]
  1726.  
  1727.     Creates a text file with the specified filename and records 
  1728. the console display into the specified file.  This command enables 
  1729. you to make a copy of a debugging session.
  1730.  
  1731.     If the APPend qualifier is given and the specified file
  1732. already exists, then the logged data will be appended to the
  1733. specified file.
  1734.  
  1735.     This command is disabled with the NO LIST command.
  1736.  
  1737. Examples:  
  1738.     ->LIST MYDEBUG.LOG
  1739.     ->NO LIS
  1740.  
  1741. See Also:
  1742.     NO LISt, JOUrnal
  1743. S.
  1744. Syntax:
  1745.     LOAd filename [NOCode] [NOSource] [EXTension="string"]  
  1746.  
  1747.     Loads an object file from the host into the target memory.
  1748. The file must be a Phar Lap-style executable (.EXP, "flat" model) with
  1749. extended CodeView debug information.
  1750.  
  1751.     If NOCode is specified, executable code is not loaded into
  1752. memory; only symbol, line number and type information is loaded into
  1753. the the debugger.
  1754.  
  1755.     If NOSource is specified, the source listing display feature 
  1756. is disabled.
  1757.  
  1758.     Normally, source file names will be determined from information
  1759. contained in the object file.  If this information is not present, then
  1760. source file names are built from module names.  The default source file
  1761. name suffix is ".c";  EXTension can be used to specify an alternate
  1762. source file suffix.
  1763.  
  1764. Examples:  
  1765.     ->LOAD MYPROG.EXP
  1766.     ->LOA MYPROG NOCODE
  1767.     ->LOAD TEST NOSOURCE NOCODE
  1768.     ->LOAD C:\PROG\TSTPRO EXT = "pas"
  1769.  
  1770. See Also:
  1771.     RUN, RERun, RELoad, Go
  1772. Syntax:
  1773.     LOCal  
  1774.  
  1775.     Displays all active local symbols and their addresses.
  1776.  
  1777. Example:
  1778.     ->LOC
  1779.  
  1780. See Also:
  1781.     ?, EXAmine, GLObal, SYMbol
  1782. Syntax:
  1783.     MACro  macro_name  
  1784.     [command]
  1785.        :
  1786.     EMAcro  
  1787.  
  1788.     Defines a macro, %0 ... %9 are the formal parameters.
  1789.  
  1790. Note:
  1791.     You should not use macro names that conflict with the debugger's
  1792. commands or symbol names in your program.  Otherwise, the macro definitions 
  1793. will override them.
  1794.     You can execute macros by typing the macro names with or without
  1795. the colon prefix.
  1796.  
  1797. Example:
  1798.     ->MAC AA        //Define macro AA
  1799.     MD>%0
  1800.     MD>REG    %1
  1801.     MD>BYT 50:3 to %2
  1802.     MD>GO TIL %3
  1803.     MD>EMA
  1804.     ->
  1805.  
  1806. See Also:
  1807.     :, DIRectory MACro, DISplay MACro, REMove MACro, PUT,
  1808.     INClude, EDIt, MLIst
  1809. Syntax:
  1810.     MEMory [address]
  1811.  
  1812.     Enters the memory window.  If no address is specified, the
  1813. last specified address will be used.
  1814.  
  1815. Examples:
  1816.     ->MEM
  1817.     ->MEM ds:100h
  1818.     ->MEM big_array
  1819.  
  1820. See Also:
  1821.     BYTe, CHAr, WORd, DWOrd, FLOat, DOUble, QWOrd, POInter, TREal
  1822. Syntax:
  1823.     There are two kinds of "NO" commands, they are:
  1824.  
  1825.     NO JOUrnal, NO LISt.
  1826.  
  1827.     Please enter the command again.
  1828. Syntax:
  1829.     NO JOUrnal  
  1830.  
  1831.     Closes the journal file.
  1832.  
  1833. Example:  
  1834.     ->NO JOURNAL
  1835.  
  1836. See Also:
  1837.     JOUrnal, LISt
  1838. Syntax:
  1839.     NO LISt  
  1840.  
  1841.     Closes the listing file.
  1842.  
  1843. Example:  
  1844.     ->NO LIST
  1845.  
  1846. See Also:
  1847.     LISt, JOUrnal
  1848. Syntax:
  1849.     OCTal
  1850.  
  1851.     Sets the default input radix to octal.
  1852.  
  1853. Example:
  1854.     ->OCT
  1855.  
  1856. See Also:
  1857.     BINary, DECimal, HEX, RADix
  1858. Syntax:
  1859.     OPEn n = filename
  1860.  
  1861.     where n = 0, 1, 2, 3, 4 or 5
  1862.  
  1863.     Opens a file and associates it with a number n. The opened 
  1864. file may later be used in READ or WRITE commands to read/write data
  1865. from/to the file.  If the specified file does not exist, it will be
  1866. created.
  1867.  
  1868. Examples:  
  1869.     ->OPEN 1 = INPUT.DAT
  1870.     ->OPEN 2 = OUTPUT.DAT
  1871.     ->READ A, B FROM 1
  1872.     ->WRITE "A = ", A TO 2
  1873.  
  1874. See Also:
  1875.     CLOse, REAd, WRIte, INClude, MACro
  1876. Syntax:
  1877.     IF expression
  1878.     [command]
  1879.        .
  1880.        .
  1881.     [ORIf expression]
  1882.     [command]
  1883.        .
  1884.        .
  1885.     [ELSe]
  1886.     [command]
  1887.        .
  1888.        .
  1889.     EIF
  1890.  
  1891.     The ORIf command is used in the IF statement.
  1892.  
  1893. Example:
  1894.     ->MACRO TEST1
  1895.     MD>IF  A>0 
  1896.     MD>    IF B++ != 0 
  1897.     MD>    C--
  1898.     MD>    ORIF B < 3 
  1899.     MD>    D += 2
  1900.     MD>    EIF
  1901.     MD>ELSE
  1902.     MD>    A=0
  1903.     MD>EIF
  1904.     MD>EMACRO
  1905.     ->
  1906.  
  1907. See Also:
  1908.     IF, EIF, ELSE
  1909. Syntax:
  1910.     OUTput  port_no  = value [W]
  1911.                              [D]
  1912.  
  1913.     Assigns an 8-bit value to the specified output port.  If the
  1914. qualifier "W" is specified, a 16-bit value will be assigned.
  1915. If the qualifier "D" is specified, a 32-bit value will be assigned.
  1916.  
  1917. Examples:
  1918.     ->OUTPUT 20H = 0C2H
  1919.     ->OUT out_port_index = 1011H W
  1920.     ->OUT out_port_index + 6 = 10H
  1921.     ->OUT out_port_buf[8] = 10008000H D
  1922.  
  1923. See Also:
  1924.     INPut
  1925. Syntax:
  1926.     PD  [ \[index_expr\] [.PT[ \[index_expr\] ] ] [.element [= expr] ] ]
  1927.  
  1928.     where index_expr is an index into the table; element is PTA, 
  1929. PFA, AVL, P, RW, US, D or A; expr is an expression.  The notations \[ and 
  1930. \] indicate that the square bracket pair is part of the required syntax.
  1931.  
  1932.     Displays or modifies the components of a page directory or
  1933. page table.  PD displays all the present entries in the page directory.
  1934. PT displays all the present entries in the page table corresponding to
  1935. the indexed page directory.  The element argument specifies a component 
  1936. of a page directory or page table entry.
  1937.  
  1938.        The components of page directory/page table entries are as follows:
  1939.  
  1940.        Name          Size           Description
  1941.        ---------------------------------------------------------------
  1942.        PTA           20 bits        Page table address (in page directory)
  1943.        PFA           20 bits        Page frame address (in page table)
  1944.        AVL           3 bits         Available (user-defined)
  1945.        P             1 bit          Present; P = 1
  1946.        RW            1 bit          Page writable; RW = 1
  1947.        US            1 bit          User level; US = 1, Supervisor; US = 0
  1948.        D             1 bit          Dirty page; D = 1
  1949.        A             1 bit          Page accessed; A = 1
  1950.          
  1951. Examples:
  1952.        ->PD  //Displays all the present entries in the page directory.
  1953.        ->PD[0]  //Displays the first entry in the page directory.
  1954.        ->PD[0].PTA  //Displays the page table address of the first entry 
  1955.          //in the page directory.
  1956.        ->PD[0].PT  //Displays all the present entries in the page table
  1957.          //which is pointed to by the first entry in the page directory.
  1958.        ->PD[0].PT[4] //Displays the 5th entry in the first page table.
  1959.        ->PD[0].PT[4].A = 1 //Modifies the page access bit in the 5th entry 
  1960.                  // in the first page table.
  1961.  
  1962. See Also:
  1963.        DT, GDT, IDT, LDT, TSS, REGister
  1964. Syntax:
  1965.     PHYsical address
  1966.  
  1967.     Converts the address to a physical address. 
  1968.  
  1969. Examples:
  1970.     ->PHYSICAL 1234:8767     //Converts a real mode virtual 
  1971.                  //address.
  1972.     ->PHY 12898778HN     //Converts a linear address, suffix
  1973.                  //  N indicates a linear address.
  1974.     ->PHY 170H:14H:0    //Converts a protected mode virtual address.
  1975.       // The leftmost field is the local descriptor table field,
  1976.       // the middle field is the segment selector field
  1977.       // the rightmost field is the offset field.
  1978.  
  1979. See Also:
  1980.     LiNEar
  1981. Syntax:
  1982.     POInter [address] [= expression [, expression]...]
  1983.                       [[TO] address [= expression   ]]
  1984.                       [LENgth n   [= expression     ]]
  1985.  
  1986.     Displays or alters memory contents in pointer scope.  The 
  1987. base of two addresses that define an address range must be the same. 
  1988. For example, POINTER 200:40 TO 300:300 is invalid.
  1989.  
  1990.     Depending on the current setting of the USE command, the 
  1991. offset of the pointer may be 16-bit or 32-bit.
  1992.  
  1993. Examples:
  1994.     ->POI 40
  1995.     ->POINTER 100:40 TO 100:200
  1996.     ->POI &pointer_buf LENGTH 20
  1997.     ->POINTER DS:SI = 9:6, CS:IP, SS:BP+SP
  1998.     ->POI pointer_array LEN 100 = 0:0
  1999.  
  2000. See Also:
  2001.     BYTe, CHAr, WORd, DWOrd, FLOat, DOUble, QWOrd, TREal
  2002. Syntax:
  2003.     PUT filename MACro [macro_name  [, macro_name]...]  
  2004.  
  2005.     Writes some or all macro definitions to a specified file.
  2006.  
  2007. Examples:
  2008.     ->PUT mac.inc MAC  //Write all macro definitions
  2009.                 //to the file MAC.INC
  2010.     ->PUT ABC.INC MAC AA,BB,CC     //Write macro 
  2011.         //definitions AA,BB, CC TO the file ABC.INC
  2012.  
  2013. See Also:
  2014.     MACro, DIRectory MACro, REMove MACro, DISplay MACro,
  2015.     INClude, EDIt, MLIst
  2016.     Type PUT for help.
  2017. Syntax:
  2018.     QUIt
  2019.  
  2020.     Exits from the debugger.  This command closes all opened files
  2021. and deletes all temporary files that are created by the debugger.  When
  2022. in remote mode, unlike EXIT, QUIT leaves the remote monitor running and
  2023. ready to connect to another remote debugger invocation.
  2024.  
  2025. Example:  
  2026.     ->QUIT
  2027.  
  2028. See Also:
  2029.     EXIt
  2030. Syntax:
  2031.     QWOrd [address] [= expression [, expression]...]
  2032.                     [[TO] address [= expression   ]]
  2033.                     [LENgth n   [= expression     ]]
  2034.  
  2035.     Displays or alters memory contents in double quad-word scope.
  2036. The base of two addresses that define an address range must be the 
  2037. same. For example, QWORD 200:40 TO 300:300 is invalid.
  2038.  
  2039. Examples:
  2040.     ->QWORD 40 //Display quad-word content of address DS:40
  2041.     ->QWORD 100:40 TO 100:200
  2042.     ->QWORD &unsigned_long_buf LENGTH 20
  2043.     ->QWORD DS:SI = 23, 234Q, 4+6, AL, 38T
  2044.     ->QWORD unsigned_long_array LEN 100 = 0
  2045.  
  2046. See Also:
  2047.     BYTe, CHAr, WORd, DWOrd, FLOat, DOUble, POInter, TREal
  2048. Syntax:
  2049.     R287
  2050.  
  2051.     Displays 80287 status and registers.
  2052.  
  2053. Example:
  2054.     ->R287
  2055.  
  2056. See Also:
  2057.     R387, REGister
  2058. Syntax:
  2059.     R387
  2060.  
  2061.     Displays 80387 status and registers.
  2062.  
  2063. Example:
  2064.     ->R387
  2065.  
  2066. See Also:
  2067.     R287, REGister
  2068. Syntax:
  2069.     REAd symbol [, symbol]... [FROm n]  
  2070.  
  2071.     Reads in symbol values from specified file n which is opened
  2072. using the OPEN command.  Default is from user's terminal.
  2073.  
  2074. Examples:  
  2075.     ->READ a, *ptr_to_byte, array[4][3] FROM 2
  2076.     ->READ struct.member, ptr_str->field
  2077.  
  2078. See Also:
  2079.     WRIte, OPEn, CLOse, INClude
  2080. Syntax:
  2081.     REGister
  2082.     reg_name[=expression] [, reg_name[=expression]]...
  2083.     reg_name:reg_name[=expression:expression]
  2084.  
  2085.     Displays or changes 80386 register values.  
  2086.  
  2087. GENERAL PURPOSE REGISTERS
  2088.     EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP,
  2089.     AX, BX, CX, DX, SI, DI, BP, SP,
  2090.     AH, AL, BH, BL, CH, CL, DH, DL.
  2091. SEGMENT REGISTERS
  2092.     DS, ES, FS, GS, SS, CS.
  2093. INSTRUCTION POINTER
  2094.     EIP, IP.
  2095. STATUS REGISTERS
  2096.     AF, CF, DF, IF, IOPL, NT, OF, PF, RF, SF, TF, VM, ZF,
  2097.     EFG.
  2098. SYSTEM TABLE REGISTERS
  2099.     GDTBAS, GDTLIM, IDTBAS, IDTLIM, LDTR, TR.
  2100. CONTROL REGISTERS
  2101.     CR0, CR2, CR3.
  2102. 80287/387 REGISTERS
  2103.     CW, TW, SW, ST0..ST7
  2104.  
  2105. Examples:
  2106.     ->REG  //Displays current register values
  2107.     ->AX, BL, CH      //Displays register AX, BL, AND CH
  2108.     ->AH=56Q, CL=101Y, IP=78t //Changes register values
  2109.     ->GDTLIM
  2110.     ->cs:ip
  2111.     ->AX:BL = (678 + 6) : 4445
  2112.     ->CS:IP = &START
  2113.  
  2114. See Also:
  2115.     DT, GDT, IDT, LDT, PD, TSS
  2116. Syntax:
  2117.     RELoad
  2118.  
  2119.     Reloads the last program loaded, but unlike LOAd, breakpoints
  2120. are not cleared.
  2121.  
  2122. Example:
  2123.     ->REL
  2124.  
  2125. See Also:
  2126.     LOAd, RERun, B
  2127.     Type REMove MACro for help.
  2128. Syntax:
  2129.     REMove MACro [macro_name [, macro_name]...]  
  2130.  
  2131.     Removes all or some macro definitions.
  2132.  
  2133. Examples:
  2134.     ->REM MAC        //Remove all macro definitions
  2135.     ->REM MAC AA, BB, CC  //Remove macro AA, BB, and CC
  2136.  
  2137. See Also:
  2138.     :, MACro, DIRectory MACro, DISplay MACro, INClude,
  2139.     EDIt, MLIst
  2140. Syntax:
  2141.     REPeat  [n]  
  2142.     [command]
  2143.        :
  2144.     UNTil expression  
  2145.  
  2146.     Executes the group of commands included between REPEAT and
  2147. UNTIL, then evaluates the expression. If it is FALSE (zero), the
  2148. group of commands are executed again and the expression is 
  2149. reevaluated. The loop continues until the termination condition is
  2150. satisfied, i.e. the expression becomes TRUE (non-zero) or has looped n 
  2151. times if n is specified.
  2152.  
  2153. Examples:
  2154.     ->MACRO test1    //Define a macro that
  2155.     MD>REPEAT %0     //at most repeats %0 times.
  2156.     MD>A1 = A1 / 2.          
  2157.     MD>B = ROUTINE( A )  //Call routine, return value to B
  2158.     MD>UNTIL B == %1     //Break if B equals to %1
  2159.     MD>EMACRO
  2160.     ->
  2161.  
  2162. See Also:
  2163.     UNTil, IF, FOR, WHIle, MACro, INClude
  2164. Syntax:
  2165.     RERun
  2166.  
  2167.     Restarts a program with the same arguments as the last RUN.
  2168. Breakpoints remain in effect.
  2169.  
  2170. Example:
  2171.     ->RER
  2172.  
  2173. See Also:
  2174.     RUN, LOAd, RELoad, Go, B
  2175. Syntax:
  2176.     RESet
  2177.  
  2178.     Resets the processor registers to initial system values.
  2179.  
  2180. Example:
  2181.     ->RESET
  2182.  
  2183. See Also:
  2184.     REGister
  2185. Syntax:
  2186.     RUN [command_line]
  2187.  
  2188.     Specify command-line arguments for a program and execute,
  2189. reloading if necessary.
  2190.  
  2191. Examples:
  2192.     ->RUN
  2193.     ->RUN one two three
  2194.     ->RUN "-z /tmp/foo.*"
  2195.  
  2196. See Also:
  2197.     RERun, LOAd, Go
  2198. Syntax:
  2199.     STEp [n] 
  2200.     S    
  2201.  
  2202.     The abbreviated forms of the STEP command are STE and S.
  2203. STEP causes the program to execute n statements before breaking.
  2204. If n is not specified, the default is 1.
  2205.  
  2206. Examples:  
  2207.     ->STEP 10    // Execute 10 program instructions.
  2208.     ->STE        // Execute one instruction only.
  2209.     ->S          // Execute one instruction only.
  2210.     ->S 5         // Execute 5 instructions.
  2211.  
  2212. See Also:
  2213.     ISTEp, STEp INto, Go, RUN, LOAd
  2214. Syntax:
  2215.     SCReen
  2216.  
  2217.     Displays the user's application output screen when using the
  2218. same display for both debugger and application.
  2219.  
  2220. Example:
  2221.     ->SCR
  2222. Syntax:   
  2223.     SET $module_name = filename
  2224.  
  2225.     SET parameter [ON    ]
  2226.                   [OFF   ]
  2227.                   [number]
  2228.                   [string]
  2229.  
  2230.     The first form of the command associates the specified file
  2231. to the specified module name.  The specified file is treated as the
  2232. source listing file for the specified module.
  2233.     SET is also used to set debugger configuration parameters.
  2234. Valid parameters include BEEP, CODE, CRREPEAT, EDITOR, EGA, FLIP,
  2235. HELPDIR, HOME, KEEPHEAP, MAIN, MLIST, MOUSE, NUMBER, PAUSE, PROLOG,
  2236. RADIX, REEVALUATE, SENSITIVE, SOURCEPATH, SYMBOL, TAB, TANDEM, TEMPDIR,
  2237. and VERIFY.  Please see HELP for the SET command of interest (e.g.,
  2238. HELP SET BEEP).
  2239.  
  2240. Examples: 
  2241.     ->SET $MAIN = START.C      //Default is MAIN.C
  2242.     ->SET $MEMORY = STORAGE.C  //Default is MEMORY.C
  2243.     ->SET BEEP OFF
  2244.  
  2245. See Also:
  2246.     SOUrce, DIRectory MODule, SHOw
  2247. Syntax:
  2248.     SET BEEp [ON]
  2249.              [OFF]
  2250.  
  2251.     Enables or disables the error beeper.  The error beeper is
  2252. enabled by default.
  2253.  
  2254. Examples:
  2255.     ->SET BEEP ON
  2256.     ->SET BEEP OFF
  2257.  
  2258. See Also:
  2259.     ENV, SHOw
  2260. Syntax:
  2261.     SET CODe [ON ]
  2262.              [OFF]
  2263.  
  2264.     Enables or disables hex code display during code disassembly
  2265. for both the source window and the command line.  Disabling hex code
  2266. display allows other windows to overlap the right side of the source
  2267. window without completely obscuring useful disassembly information.
  2268.  
  2269. Examples:
  2270.     ->SET COD ON
  2271.     ->SET COD OFF
  2272.  
  2273. See Also:
  2274.     DASm, SOUrce, SET NUMber, VIEw, SHOw, ENV
  2275. Syntax:
  2276.     SET CPP [ON]
  2277.             [OFF]
  2278.  
  2279. Enables or disables C++ code debugging.  With CPP ON, C++ names are
  2280. unmangled, and variables are in member functions are accessed as if
  2281. they are local.
  2282.  
  2283. Examples:
  2284.     ->SET CPP ON
  2285.     ->SET CPP OFF
  2286.  
  2287. Syntax:
  2288.     SET CRRepeat [ON ]
  2289.                  [OFF]
  2290.  
  2291.     Enables or disables command repeating on C/R.  If enabled,
  2292. the Enter key will repeat the last execution, disassembly, or memory
  2293. display command from the point where the last command left off.
  2294. Otherwise, Enter does nothing.  CRRepeat is enabled by default.
  2295.  
  2296. Example:
  2297.     ->SET CRR ON
  2298.  
  2299. See Also:
  2300.     ENV, SHOw
  2301. Syntax:
  2302.     SET EDItor filename
  2303.  
  2304.     Specify an editor to be used for editing macros and arbitrary
  2305. files.
  2306.  
  2307. Examples:
  2308.     ->SET EDITOR vi
  2309.  
  2310. See Also:
  2311.     EDIt, ENV, SHOw
  2312. Syntax:
  2313.     SET EGA [ON ]
  2314.             [OFF]
  2315.  
  2316.     Enable or disable EGA-43 line or VGA-50 line display mode.  This
  2317. mode is disabled by default.
  2318.  
  2319. Examples:
  2320.     ->SET EGA ON
  2321.     ->SET EGA OFF
  2322.  
  2323. See Also:
  2324.     ENV, SHOw
  2325. Syntax:
  2326.     SET FLIp [ON ]
  2327.              [OFF]
  2328.  
  2329.     Enables or disables the status of application output during
  2330. application execution.  If disabled, output from the program being
  2331. debugged is not displayed until explicitly requested via the SCReen (user-
  2332. screen display) command.  If enabled, the output from the program being
  2333. debugged is displayed whenever it is executing.  This may cause a flicker
  2334. effect during single-step operation.  FLIP is enabled by default.
  2335.  
  2336. The flip mode will be enabled whenever a monochrome display is
  2337. detected and when EGA mode is enabled.  It should not be disabled
  2338. when debugging graphics applications or other applications which
  2339. write directly to video RAM.
  2340.  
  2341. Example:
  2342.     ->SET FLIP OFF
  2343.  
  2344. See Also:
  2345.     ENV, SHOw, SET EGA
  2346. Syntax:
  2347.     SET HELpdir directory
  2348.  
  2349.     Specifies the directory containing the help files.
  2350.  
  2351. Examples:
  2352.     ->SET HELP /usr/local/debug
  2353.  
  2354. See Also:
  2355.     HELp, ENV, SHOw
  2356. Syntax:
  2357.     SET HOMe [COMmand]
  2358.              [SOUrce ]
  2359.  
  2360.     Sets the default window from which commands are issued and
  2361. to which commands return after execution.  COMmand specifies the
  2362. command-line, and SOUrce specifies the source window as the home
  2363. base.  The source window is the default home base, but the default may
  2364. be changed in the environment file.
  2365.  
  2366. Examples:
  2367.     ->SET HOM SOU    // issue commands from the source window
  2368.     ->SET HOM COM    // issue commands from the command-line
  2369.  
  2370. See Also:
  2371.     SOUrce, ENV, SHOw
  2372. Syntax:
  2373.     SET KEEpheap number_of_pages
  2374.  
  2375.     Sets the minimum initial heap size for a program in pages of
  2376. 4 Kbytes.  The default is 2 pages.  Normally, programs will grow their
  2377. heap at run-time for dynamic memory allocation.  If your program is built
  2378. with the assumption that a large heap will be available at start-up, you
  2379. may use this command to reserve the amount of memory necessary for your
  2380. heap.
  2381.  
  2382. Example:
  2383.     ->SET KEEP 10 // reserve 10 pages (40 Kbytes) of program heap space
  2384.  
  2385. See Also:
  2386.     LOAd, ENV, SHOw
  2387. Syntax:
  2388.     SET MAIn [ON ]
  2389.              [OFF]
  2390.  
  2391.     Enables or disables starting at the function main() rather than
  2392. in the start-up initialiaztion code.  This is enabled by default.
  2393.  
  2394. Examples:
  2395.     ->SET MAIN OFF
  2396.  
  2397. See Also:
  2398.     ENV, SHOw
  2399. Syntax:
  2400.     SET MLIst [ON ]
  2401.               [OFF]
  2402.  
  2403.     Causes the macro bodies to be displayed on the console as
  2404. the macros are expanded.  The SET MLIST OFF command may be used to 
  2405. disable this command.  On start up the default is MLIST OFF.
  2406.  
  2407. Example:
  2408.     ->SET MLI ON
  2409.  
  2410. See Also:
  2411.     ENV, SHOw, MACro, LISt, INClude
  2412. Syntax:
  2413.     SET MOUse [ON ]
  2414.               [OFF]
  2415.  
  2416.     Enables or disables mouse support.  If a mouse driver is detected,
  2417. MOUSE defaults to ON, otherwise MOUSE defaults to OFF.  If mouse support
  2418. conflicts with your application's mouse usage or with that of another
  2419. resident program, you may wish to set MOUSE OFF.
  2420.  
  2421. Example:
  2422.     ->SET MOUSE OFF
  2423.  
  2424. See Also:
  2425.     ENV, SHOw
  2426. Syntax:
  2427.     SET NUMber [ON ]
  2428.                [OFF]
  2429.  
  2430.     Enables or disables the displaying of line numbers in the
  2431. source window.  Line numbers are displayed by default.
  2432.  
  2433. Examples:
  2434.     ->SET NUM ON
  2435.     ->SET NUM OFF
  2436.  
  2437. See Also:
  2438.     ENV, SHOw, #, VIEw, B, Go
  2439. Syntax:
  2440.     SET PAUse [ON]
  2441.               [OFF]
  2442.  
  2443.     Enables or disables the scrolling of the display in the
  2444. dialog window.  When PAUse ON is in effect, the display will
  2445. stop if the display lines fill up the dialog window.  The display
  2446. will continue to scroll after any key is pressed.  PAUse OFF
  2447. turns off the effect such that the display will continue scrolling
  2448. without any pause.
  2449.  
  2450.     The default is PAUse ON.  PAUse OFF is needed if the 
  2451. debugging session must be run unattended using a command file.
  2452. PAUse without any parameter will display the current setting.
  2453.  
  2454. Examples:
  2455.     ->SET PAUse        //Displays current setting.
  2456.     ->SET PAU OFF    //No pause during text scrolling.
  2457.  
  2458. See Also:
  2459.     ENV, SHOw, WAIt, INClude, LISt
  2460. Syntax:
  2461.     SET PROlog [ON ]
  2462.                [OFF]
  2463.  
  2464.     Enables or disables automatic prolog execution.  If enabled,
  2465. function prolog code will be automatically executed whenever the function
  2466. is entered via Go or Step.  PROLOG is enabled by default.
  2467.  
  2468. Example:
  2469.     ->SET PRO OFF
  2470.  
  2471. See Also:
  2472.     ENV, SHOw, Go, Step, B
  2473. Syntax:
  2474.     SET RADix [HEXadecimal] 
  2475.               [DECimal    ]
  2476.               [OCTal      ]
  2477.               [BINary     ]
  2478.  
  2479.     Sets the default input radix.  Initially, the radix is decimal.
  2480.  
  2481. Examples:
  2482.     ->SET RAD HEX    // Sets radix to hexadecimal
  2483.  
  2484. See Also:
  2485.     BINary, DECimal, HEX, OCTal, ENV, SHOw
  2486. Syntax:
  2487.     SET REEvaluate [ON ]
  2488.                    [OFF]
  2489.  
  2490.     Enables or disables expression reevaluation for the EXAmine
  2491. command and the Symbol:Examine window.
  2492.  
  2493.     If enabled, examined expressions are reevaluated every
  2494. time that the value of an expression may have changed.  Otherwise,
  2495. the expressions are evaluated only once and the address of the
  2496. resulting lvalues are watched for a change of contents.  By default,
  2497. REEvaluate is OFF.
  2498.  
  2499.     As an example, consider examining the expression foo[i]
  2500. when i = 3.  With REEvaluate ON, when i changes, a different
  2501. element of foo will be displayed.  With REEvaluate OFF, a change
  2502. in i will have no effect, and foo[3] will still be displayed.
  2503.  
  2504. Examples:
  2505.     ->SET REEVAL ON    // reevaluate watched lvalues
  2506.  
  2507. See Also:
  2508.     ENV, SHOw, EXAmine
  2509. Syntax:
  2510.     SET SENsitive [ON ]
  2511.                   [OFF]
  2512.  
  2513.     Enables or disables case sensitivity in matching symbol names.
  2514. If SENsitive is off, symbolic reference will be case insensitive. If
  2515. SENsitive is on, symbolic reference will be case sensitive.  The default
  2516. setting is SENsitive OFF.
  2517.  
  2518. Examples:
  2519.     ->SET SEN ON  //Makes symbolic reference case sensitive.
  2520.     ->SET SEN OFF //Makes symbolic reference case insensitive.
  2521.  
  2522. See Also:
  2523.     ?, SYMbol, ENV, SHOw
  2524. Syntax:
  2525.     SET SOUrcepath [=] [[drive:]path [; [drive:]path]...]
  2526.  
  2527.     Sets the search path for source files.  Source files are always
  2528. searched for in the current directory first.  A semicolon may be used
  2529. to separate the directories.
  2530.  
  2531. Examples:
  2532.     ->SET SOU c:\proj1\src;d:\proj2\src
  2533.  
  2534. See Also:
  2535.     SOUrce, DIRectory MODule, SET, ENV, SHOw
  2536. Syntax:
  2537.     SET SYMbol [ON ]
  2538.                [OFF]
  2539.  
  2540.     Enables or disables the display of symbolic addresses in
  2541. disassembly listings.  The default is SYMbol ON.
  2542.  
  2543. Examples:
  2544.     ->SET SYM ON
  2545.  
  2546. See Also:
  2547.     DASm, VIEw, ENV, SHOw
  2548. Syntax:
  2549.     SET TAB size
  2550.  
  2551.     Sets tab-stops for source in the Source window.  The default is
  2552. 4.
  2553.  
  2554. Examples:
  2555.     ->SET TAB 8
  2556.  
  2557. See Also:
  2558.     SOUrce, ENV, SHOw
  2559. Syntax:
  2560.     SET TANdem [ON ]
  2561.                [OFF]
  2562.  
  2563.     Enables or disables dual-monitor debugging.  When enabled,
  2564. the debugger's output goes to one monitor while the application's
  2565. output goes to the other.  This feature requires both a color and
  2566. a monochrome monitor.  The default is TANDEM OFF, and TANDEM is
  2567. disabled for remote debugging.
  2568.  
  2569. Example:
  2570.     ->SET TANDEM ON
  2571.  
  2572. See Also:
  2573.     SCReen, SET FLIp
  2574. Syntax:
  2575.     SET TEMpdir directory
  2576.  
  2577.     Specifies the directory used for storage of temporary files.
  2578.  
  2579. Examples:
  2580.     ->SET TEMP c:\tmp
  2581.  
  2582. See Also:
  2583.     ENV, SHOw
  2584. Syntax:
  2585.     SET VERify [ON ]
  2586.                [OFF]
  2587.  
  2588.     Enables or disables the verification of memory segment accesses.
  2589.  
  2590. Examples:
  2591.     ->SET VER ON
  2592.     ->SET VER OFF
  2593.  
  2594. See Also:
  2595.     BYTe, CHAr, WORd, DWOrd, FLOat, DOUble, QWOrd, POInter, TREal,
  2596.     ENV, SHOw
  2597. Syntax:
  2598.     SHOw [parameter]
  2599.  
  2600.     Shows the current status of configuration parameters.  If no
  2601. parameter is specified, SHOW will list the values of all configuration
  2602. parameters.  Valid parameters include BEEP, CODE, CRREPEAT, EDITOR, EGA,
  2603. FLIP, HELPDIR, HOME, KEEPHEAP, MAIN, MLIST, MOUSE, NUMBER, PAUSE, PROLOG,
  2604. RADIX, REEVALUATE, SENSITIVE, SOURCEPATH, SYMBOL, TAB, TANDEM, TEMPDIR,
  2605. and VERIFY.
  2606.  
  2607. Examples:
  2608.     ->SHO
  2609.     ->SHOW BEEP
  2610.  
  2611. See Also:
  2612.     SET, ENV
  2613. Syntax:
  2614.     SOUrce [address     ]
  2615.            [$module_name]
  2616.            ["filename"  ]
  2617.  
  2618.     Enters the source window for the specified address, module,
  2619. or file.
  2620.  
  2621. Examples:
  2622.     ->SOU RFREE
  2623.     ->SOU #16
  2624.     ->SOU CS:100H
  2625.     ->SOU $MAIN
  2626.     ->SOU "prog.c"
  2627.  
  2628. See Also:
  2629.     DIRectory MODule, SET, SPAth, VIEw, NUMber, #
  2630. Syntax:          
  2631.     STn 
  2632.  
  2633.     where n = 0 to 7.
  2634.  
  2635.     Displays or updates the 80387 stack elements and the
  2636. corresponding tag words.  The value of the stack element is first
  2637. displayed as a treal number.  It can be altered by entering a new
  2638. value. A carriage return will preserve the contents.  If a carriage
  2639. return is entered, the stack element is once again displayed, but
  2640. this time it is displayed as ten hexadecimal values. It can be
  2641. altered by entering a new set of ten hexadecimal values.  A carriage
  2642. return will preserve the contents.  Next, the tag word that
  2643. corresponds to the stack element is displayed.  It can be altered by
  2644. entering a new value. A carriage return will preserve the contents.
  2645.  
  2646. Examples:
  2647.     ->ST4
  2648.       ST(4) = 0./ <CR>
  2649.       ST(4) = 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 
  2650.             / 0F1H,0FFH,0F7H,98H,00H,56H,43H,69H,8AH,7CH
  2651.       TAG(4) = 3 / 0
  2652.     ->ST3
  2653.       ST(3) = 7.8 / 0.0
  2654.       TAG(3) = 0 / 3
  2655.  
  2656. See Also:
  2657.     CW, R387, SW, TW
  2658. Syntax:
  2659.     STEp [INto] [n] 
  2660.     S    
  2661.  
  2662.     The abbreviated forms of the STEP command are STE and S.
  2663. STEp causes the program to execute n statements before halting for
  2664. debugging purposes.  If a statement contains a call to a procedure, 
  2665. the entire process of procedure entry and procedure return is treated 
  2666. as one statement.  STEp INto will step into the called procedure.
  2667. If n is not specified, the default is 1, which allows single-statement 
  2668. debugging.
  2669.  
  2670. Examples:  
  2671.     ->S 10       // Execute 10 statements and stop.
  2672.     ->S          // Execute one statement and stop.
  2673.     ->S IN       // Step into the called procedure.
  2674.  
  2675. See Also:
  2676.     IStep, Go, B, RUN, LOAd
  2677. Syntax:
  2678.     STEp INto [n] 
  2679.     S INto
  2680.  
  2681.     The abbreviated forms of the STEP command are STE and S.
  2682. STEP causes the program to execute n statements before halting 
  2683. for debugging purposes.  If n is not specified, the default is 1, 
  2684. which allows single-statement debugging.  Calls are stepped into.
  2685.  
  2686. Examples:  
  2687.     ->STEP INTO 10  // Execute 10 statements and stop.
  2688.     ->S IN          // Execute one statement and stop.
  2689.  
  2690. See Also:
  2691.     Go, Step, IStep, B, RUN, LOAd
  2692. Syntax:
  2693.     STRucture structure_name \{
  2694.         {data_type}  field_name  [, field_name]...  
  2695.         {<symbol> }                  
  2696.              :                       
  2697.              :                       
  2698.     \}
  2699.  
  2700.     Defines a data structure.
  2701.  
  2702. Example:
  2703.     ->STR STRTYP {
  2704.     STR>WORD AA, BB, CC
  2705.     STR>CHAR *P_TO_CHAR, CHAR_ARRAY[7][8]
  2706.     STR>LONG *LL[6], (*FF)[5]
  2707.     STR>STR STRTYP *LINK
  2708.     STR><AA> ZZ
  2709.     STR>}
  2710.     ->
  2711.  
  2712. See Also:
  2713.     DIRectory STRucture, DISplay STRucture, SYMbol, TYPe
  2714. Syntax:
  2715.     SW
  2716.  
  2717.     Displays or changes the value of the 80387 status word. The
  2718. value of the status word is displayed followed by a slash.  The
  2719. contents can be altered by entering a new hexadecimal value.  A 
  2720. carriage return will preserve the contents.
  2721.  
  2722. Examples:
  2723.     ->SW
  2724.       STATUS WORD = 0000H / 1324H
  2725.     ->SW
  2726.       STATUS WORD = 1324H / <CR>
  2727.  
  2728. See Also:
  2729.     CW, R387, ST, TW
  2730. Syntax:
  2731.     SWItch expression
  2732.     CASe  constant_expression :  
  2733.     [command]
  2734.        :
  2735.     [CASe constant_expression :  ]
  2736.     [command]
  2737.        :
  2738.     [DEFault :  ]
  2739.     [command]
  2740.        :
  2741.     ESWitch  
  2742.  
  2743.     A multi-way decision maker that tests whether an expression
  2744. matches one of a number of constant values, and branches accordingly.
  2745. If none is matched, control flow is branched to the DEFAULT case. 
  2746. After having executed the group of commands associated with the 
  2747. matched case, control flow falls through to the next CASE/DEFAULT 
  2748. unless a BREAK command is encountered.  The BREAK command causes an 
  2749. immediate exit from the SWITCH.
  2750.       
  2751. Examples:  
  2752.     ->MACRO TEST1        //Define a macro. 
  2753.     MD>SWITCH A
  2754.     MD>  CASE 0 :
  2755.     MD>       B = 10
  2756.     MD>       BREAK
  2757.     MD>  CASE 1 :
  2758.     MD>       B = B * B
  2759.     MD>       BREAK
  2760.     MD>  DEFAULT:
  2761.     MD>       STEP 5
  2762.     MD>ESWITCH                
  2763.     MD>EMACRO
  2764.     ->
  2765.  
  2766. See Also:
  2767.     ESWitch, IF, FOR, WHIle, REPeat, MACro, INClude
  2768. Syntax:
  2769.     SYMbol  [GLObal      ]
  2770.             [LOCal       ]
  2771.             [$module_name]
  2772.             [symbol_name ]
  2773.             [address     ]
  2774.             ["reg_exp"   ]
  2775.  
  2776.     Displays symbol declarations and controls the display of
  2777. symbols in disassembly.  If GLOBAL is specified, only the global
  2778. symbols are displayed.  Likewise, if LOCal is specified, only
  2779. the currently active local symbols are displayed.
  2780.  
  2781.     If a module name is specified, the symbols belonging to
  2782. the specified module are displayed.  If a symbol name is specified,
  2783. the declaration for that symbol is displayed.
  2784.  
  2785.     If an address is specified, the global symbol with the
  2786. closest matching address is displayed.  If a string is specified,
  2787. the symbols matching the regular expression in quotes will be
  2788. displayed.
  2789.  
  2790. Examples:
  2791.     ->SYMBOL 
  2792.     ->SYM GLO
  2793.     ->SYM LOC
  2794.     ->SYM $MODULE_AA
  2795.     ->SYM main
  2796.     ->SYM CS:100H
  2797.     ->SYM "i38[67]"
  2798.  
  2799. See Also:
  2800.     ?, TYPe, STRucture
  2801. Syntax:
  2802.     TIMe
  2803.  
  2804.     Displays the current time and date.
  2805.  
  2806. Example:
  2807.     ->TIME
  2808. Syntax:
  2809.     TRAce [ON ]
  2810.           [OFF]
  2811.  
  2812.     Enables or disables data collection in the trace buffer
  2813. during program execution.
  2814.  
  2815. Examples:
  2816.     ->TRA
  2817.     ->TRA ON
  2818.     ->TRA OFF
  2819.  
  2820. See Also:
  2821.     DISplay TRAce
  2822. Syntax:
  2823.     TREal [address] [= expression [, expression]...]
  2824.                     [[TO] address [= expression   ]]
  2825.                     [LENgth n   [= expression     ]]
  2826.  
  2827.     Displays or alters memory contents in treal scope.  The 
  2828. base of two addresses that define an address range must be the same.
  2829. For example, TREAL 200:40 TO 300:300 is invalid.
  2830.  
  2831. Examples:
  2832.     ->TRE 40
  2833.     ->TREAL 100:40 TO 100:200
  2834.     ->TRE &REAL LENGTH 20
  2835.     ->TREAL DS:SI = 8.8, 3.5+1, 0.0
  2836.     ->TRE pointer_to_treal LEN 100 = 0:0
  2837.  
  2838. See Also:
  2839.     FLOat, DOUble
  2840. Syntax:
  2841.        TSS [ \[selector_expr\] [.tss_element [=expr] ] ]
  2842.  
  2843.        where selector_expr is an expression that computes to a 16-bit number 
  2844. or the name of the TR register which is interpreted as a selector;
  2845. tss_element is LINk, {[E]SP|SS}{0|1|2}, or a register; expr is an 
  2846. expression.  The notations \[ and \] indicate that the square bracket 
  2847. pair is part of the required syntax.
  2848.  
  2849.        Displays or modifies the contents of a task state segment.  TSS 
  2850. descriptors may reside only in the GDT.  A selector that references a
  2851. TSS descriptor in the GDT has bit 2 equals 0.  If you know the GDT entry 
  2852. index which contains the TSS descriptor, you can obtain the corresponding 
  2853. selector by multiplying the index by 8.
  2854.  
  2855. Example:
  2856.        ->TSS  //Displays the current TSS.
  2857.        ->TSS[TR]  //Displays the current TSS.  Same as TSS.
  2858.        ->TSS[31t*8] //Displays the TSS whose descriptor is at GDT[31t].
  2859.        ->TSS[31t*8].eax //Displays the EAX field of the TSS whose descriptor 
  2860.                           //is at GDT[31t].
  2861.        ->TSS[8].LINK=6890  //Modifies the link field of the TSS
  2862.              //whose descriptor is at GDT[1].
  2863.  
  2864. See Also:
  2865.        DT, GDT, IDT, LDT, PD, REGister
  2866. Syntax:
  2867.     TYPe {data_type} symbol [, symbol]... [AT address]  
  2868.          {<symbol> }
  2869.  
  2870.     Declares or redefines symbols. The data type can be BYTe, 
  2871. CHAr, WORd, SHOrt, DWOrd, LONg, INTeger, FLOat, DOUble, TREal,
  2872. or a STRuct.  Note that QWOrd is not supported in this command.
  2873.  
  2874.     The <...> construct can be used to declare the variable to be
  2875. of the same type as the variable enclosed in the <...> pair.
  2876.  
  2877. If no AT address is specified, the symbol uses internal debugger memory.
  2878.  
  2879. If a POInter is declared, the size of offset, 16-bit or 32-bit, depends
  2880. on the setting of the USE or WIDth command.
  2881.  
  2882. Examples:  
  2883.     ->TYPE long *ptr_to_long, long_buf[8] at &buf
  2884.     ->TYPE CHAR CH1, CH2[3][4], (*CH3)[7]
  2885.     ->TYPE struct str_aa str1, *str2, str3[7] at &str_buf
  2886.     ->TYPE <yy> xx AT 200:10              
  2887.     ->type char $m##pro#a, ##pp#b, #c at 8:9
  2888.  
  2889. See Also:
  2890.     SYMbol, STRucture
  2891. Syntax:
  2892.     TW
  2893.  
  2894.     Displays or changes the value of the 80387 tag word. The
  2895. value of the tag word is displayed followed by a slash.  The contents
  2896. can be altered by entering a new hexadecimal value.  A carriage return
  2897. will preserve the contents.
  2898.  
  2899. Examples:
  2900.     ->TW
  2901.       TAG WORD = 0000H / 0FFFFH
  2902.     ->TW
  2903.       TAG WORD = FFFFH / <CR>
  2904.  
  2905. See Also:
  2906.     CW, R387, ST, SW
  2907. Syntax:
  2908.     U [addr1 [TO addr2]] [MIX]
  2909.              [LENgth n]
  2910.  
  2911.     Displays a block of memory in 80386 assembly mnemonic form.
  2912. The MIX qualifier causes source to be mixed in with the disassembly
  2913. display.  This command is identical to the DASM command.
  2914.  
  2915. Examples:
  2916.     ->U       //Default address is CS:EIP
  2917.     ->U CS:(EIP+5) MIX
  2918.     ->U &MAIN LEN 20
  2919.  
  2920. See Also:
  2921.     VIEw, SOUrce, USE
  2922. Syntax:
  2923.     REPeat  [n]  
  2924.     [command]
  2925.        :
  2926.     UNTil expression  
  2927.  
  2928.     The UNTil command is used to terminate a REPeat loop.
  2929.  
  2930. Example:   
  2931.     ->MACRO test1    //Define a macro that
  2932.     MD>REPEAT %0     //at most repeats %0 times.
  2933.     MD>A1 = A1 / 2.          
  2934.     MD>B = ROUTINE( A )  //Call routine, return value to B
  2935.     MD>UNTIL B == %1     //Break if B equals to %1
  2936.     MD>EMACRO
  2937.     ->
  2938.  
  2939. See Also:
  2940.     REPeat, WHIle, FOR, IF
  2941. Syntax:
  2942.     UP [n]
  2943.  
  2944.     Walks up the call stack allowing access to the source and
  2945. local variables of any active procedure.  If no argument is specified,
  2946. the stack is walked up one level.
  2947.  
  2948.     If any execution command or command that directly changes
  2949. the CS:EIP or EBP is given by the user while an UP or DOWN command
  2950. is in effect, a DOWN HOME action is automatically performed before
  2951. the command is executed.
  2952.  
  2953. Examples:
  2954.     ->UP    // walk up one level
  2955.     ->UP 3    // walk up three levels
  2956.  
  2957. See Also:
  2958.     DOWn, CALlstack, SOUrce, SYMbol
  2959. Syntax:
  2960.     USE  [16]
  2961.          [32]
  2962.  
  2963.     Displays or modifies the default setting for disassembling 
  2964. code.  This setting causes the debugger to (1) assume 16-bit 
  2965. or 32-bit code when disassembling code from linear or physical 
  2966. addresses using the DASM command, (2) assume 16-bit or 32-bit offset 
  2967. when handling POInter type, (3) assume 16-bit or 32-bit offset when 
  2968. a symbol is declared as pointer type using the TYPE command.  This
  2969. command is identical to the WIDTH command.
  2970.  
  2971. Examples:
  2972.     ->USE 16    //Sets to 16-bit code.
  2973.     ->USE        //Displays the current setting.
  2974.  
  2975. See Also:
  2976.     DASm, TYPe, STRucture, POInter
  2977. Syntax:
  2978.     VERsion  
  2979.  
  2980.     Displays the debugger version number.
  2981.  
  2982. Example:  
  2983.     ->VER
  2984. Syntax:
  2985.     VIEw [HL ]
  2986.          [ASM]
  2987.          [MIX]
  2988.  
  2989.     Displays or modifies the mode of source line display in
  2990. the source window.  HL sets the source window to display high level
  2991. language source statements only.  ASM sets the source window to 
  2992. display assembly language mnemonics only.  MIX sets the source
  2993. window to display high level language source statements interleaved
  2994. with assembly language mnemonics.  If no parameter is specified,
  2995. it displays the current display mode of the source window.
  2996.  
  2997. Example:
  2998.     ->VIEW    //Displays current setting.
  2999.     ->VIEW MIX //Displays high level source and assembly.
  3000.  
  3001. See Also:
  3002.     SOUrce, NUMber, #
  3003. Syntax:
  3004.     VIRtual address
  3005.  
  3006.     Converts an address to a virtual address.
  3007.  
  3008. Example:
  3009.     ->VIRtual 0D420000P  //Convert a physical address
  3010.     ->VIR 12898778       //Convert a linear address
  3011.  
  3012. See Also:
  3013.     LiNEar, PHYsical
  3014. Syntax:
  3015.     WAIt [message]
  3016.  
  3017.     Stops command processing and optionally displays a message.
  3018. Pressing any key will resume command processing.  The WAIt command
  3019. is useful in command files for demonstrations or interactive automated
  3020. testing.
  3021.  
  3022. Examples:
  3023.     ->WAIT
  3024.     ->WAI "start the target now"
  3025.  
  3026. See Also:
  3027.     SET PAUse, INClude, WRIte
  3028. Syntax:
  3029.     WHIle expression  
  3030.     [command]
  3031.        :
  3032.     EWHile  
  3033.  
  3034.     In the WHILE-EWHILE loop command, the expression is 
  3035. evaluated first.  If it is TRUE (non-zero), the group of commands 
  3036. listed between WHILE and EWHILE are executed and the expression 
  3037. is evaluated again. This loop is repeated until the expression 
  3038. becomes FALSE (zero).
  3039.  
  3040. Examples:  
  3041.     ->MACRO TEST1       //Define a macro.
  3042.     MD>WHILE NOT_ZERO
  3043.     MD>STEP            //Single line.
  3044.     MD>NOT_ZERO       //Display NOT_ZERO value.
  3045.     MD>EWHILE                
  3046.     MD>EMACRO
  3047.     ->
  3048.  
  3049. See Also:
  3050. WHile, REPeat, FOR, IF, SWItch, MACro, INClude
  3051. Syntax:
  3052.     WIDth  [16]
  3053.