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