BW03 IIntro to HelpKKeyboard/MouseRRun CommandsDDisplay CommandsEExpressions WWatch/Break MMemory OperationsSSystem CommandsXRegular XpressionsTThread Commandp04 pp뇇9p?tppd  V   a j# !X #3 '  $* >-  H036rU9g<k>A)D{bGfJK # 1  CODEVIEW (R) HELP SYSTEM You can enter the Help system in one of two ways:  1. Click on Help or press ALT+H to open the Help menu; then make a menu  selection to go directly to a category (each has 1-4 screens).  2. By entering H or pressing F1, you go directly to this screen. Once in the Help system, move forward or backward to another screen by clicking one of the selection boxes below, or pressing one of the indicated hot keys. Colors and syntax used in the screens are described below: Headings and titles Headings  Indicates that item is [item] Key terms or punctuation Key terms  optional Explanatory text Text  Indicates either a or b a | b Information you supply Placeholders . SCREEN 1 OF 1 (Introducing Help) Description Keyboard  Mouse # 2  Enter Help system F1 Use Help menu Open register window F2 Use Options menu Toggle display mode F3 Use View menu Switch to Output screen F4 Use View menu Go F5 Click left on Go Switch cursor window F6 None Execute cursor line F7 at location Click right on source line Trace through routine F8 Click left on Trace Set breakpoint at cursor F9 at location  Click left on source line Step over routine F10 Click right on Trace Make window grow CONTROL+G Drag line up or down Make window tiny CONTROL+T Drag line up or down Scroll up a line Move cursor off top Click left on up arrow Scroll up a page PGUP Click above elevator Scroll down a line Move cursor off bottom Click left on down arrow Scroll down a page PGDN Click below elevator SCREEN 1 OF 1 (Keyboard/Mouse) Trace T [count] Executes current source line or # 3  (F8) instruction. If count is given,  (Click left on Trace) repeats count times. Traces through   routines and interrupts. Program Step P [count] Executes current source line or  (F10) instruction. If count is given,  (Click right on Trace) repeats count times. Steps over   routines and interrupts. Go G [address] Executes until debugger encounters  (F5) address, a previously set breakpoint,  (Click on Go) or the end of the program. Execute E Executes in slow motion until you ' press a key. 0 SCREEN 1 OF 1 (Run Commands) Display Expression 0 # 4 ? expression[,format] Evaluates expression and displays the value. If  format is given, the value is displayed in the  corresponding format, as show below: Specifier Input Type Output Format ' d or i Integer Signed decimal integer u Integer Unsigned decimal integer o Integer Unsigned octal integer x or X Integer Hexadecimal integer f Real Floating point e or E Real Scientific notation g or G Real "E" or "f," whichever is more compact c Character ASCII equivalent of character s String C null-terminated string ' Integers can have l or s prefix. SCREEN 1 OF 4 (Display Commands) Display Symbols ) # 5 X[?[module!][routine.]symbol|*] Displays symbols as described below: 1 X?module!routine.symbol This symbol in routine in module. X?module!routine.* All symbols in routine in module. X?module!symbol This symbol in module (must be static). X?module!* All static symbols in module. Will not find  local or dynamic variables. X?routine.symbol This symbol in routine. Searches all modules. X?routine.* All symbols in routine. Searches all modules. X?symbol Looks for symbol in this order:  current routine, current module, all modules. X?* All symbols in current routine. X* All module names. X All symbols in all modules. . SCREEN 2 OF 4 (Display Commands) Set Mode S[+|-|&] Sets display mode to source (+), # 6   assembly (-), or mixed (&). Current Location . Puts current line in center of display   window. Stack Trace K Displays routines and their arguments.  (ALT+C) The current routine is on top; the   initial routine is on bottom Unassemble U [range] Displays instructions in range. If no   range is given, scrolls down one screen. View V[expression] Displays source lines, starting at  V[.[file:]line] expression or line. If file is given, & loads source file. If no arguments are & given, scrolls down one screen. . SCREEN 3 OF 4 (Display Commands) Graphic Display Command + # 7 ??variable[,c] Displays value of variable in a dialog box in the  center of the screen. If variable is a structure,  record, or BASIC user-defined type, then each field  of variable is displayed. Otherwise, exactly one  field is displayed.  Select a field by clicking left on the same line as  the field, or by moving the cursor and pressing  ENTER. If the field is a pointer, the pointer is  dereferenced. If the field is a structure, record,  or user-defined type, the field is expanded. Click  right or press the backspace key to return to  previous display.  Press ESC or click left outside of dialog box to  remove display. . SCREEN 4 OF 4 (Display Commands) CodeView Expressions * # 8 Expressions in CodeView commands consist of symbols, constants, and/or operators. Operators join symbols and constants into larger expressions. For example, "+" joins the constants "4" and "5" in the expression "4+5". Syntax for operators and constants is presented in the next three screens. Changing Expression Evaluators USE [language] Changes evaluator to AUTO, C, FORTRAN, or BASIC. If  language is not given, displays current evaluator. You can also choose evaluators with the Language menu. AUTO uses source- file extension to select evaluator (with C as default choice). Notes on Extended Operators (. and :) [routine.]variable Local or global variable. .[module:]linenumber Source-line address. SCREEN 1 OF 4 (Expressions) C Expressions 0 # 9 Precedence Operators  Syntax Radix & highest 1 () [] -> . 0number Octal 2 ! ~ - (type) ++ -- * & sizeof 0nnumber Decimal 3 * / % : 0xnumber Hexadecimal 4 + -! 5 < > <= >= 6 == !=  Memory Operators 7 &&#  8 ||# BY n Return byte at n 9 = += -= *= /= %= WO n Return word at n lowest 10 BY WO DW DW n Return dbl. word &  See Screens #8 and #14 for use of extended operators (. and :). SCREEN 2 OF 4 (Expressions) FORTRAN Expressions " #10 Precedence Operators  highest 1 () 2 . : 3 + - (unary) Constant Radix 4 * /  5 + - (binary) number Default radix 6 .LT. .LE. .EQ. .NE. .GT. .GE. radix#number Specified radix 7 .NOT. #number Hexadecimal 8 .AND.   9 .OR.  10 .EQV. .NEQV. lowest 11 =  See Screens #8 and #14 for use of extended operators (. and :). SCREEN 3 OF 4 (Expressions) BASIC Expressions " #11 . Constant Radix  Precedence Operators    number Default radix  highest 1 () &Onumber Octal 2 . : &number Octal 3 + - (unary) &Hnumber Hexadecimal 4 * /  5 \ MOD 6 + - (binary) Suffix Type 7 = <> < > <= >= 8 NOT  % Integer   9 AND  & Long   10 OR  ! Single   11 XOR  # Double   12 EQV   13 IMP See Screens #8 and #14 for use of  lowest 14 LET variable = extended operators (. and :).  SCREEN 4 OF 4 (Expressions) Watch W? expression[,format] Displays expression in format, #12 Expression W[type] range or range in type format. See   Screen #4 for format information,   and #14 for type information. Watchpoint WP? expression Breaks execution when expression   is true (non-zero). Tracepoint TP? expression[,format] Breaks when expression or any  TP[type] range value in range changes. Displays   same as Watch Expression. Watch List W Lists watch statements. Watch Delete Y number|* Deletes indicated watch + statement, or all if * is given. 0 SCREEN 1 OF 2 (Watch/Break) Breakpoint BP addr [count] ["cmnd"] Sets breakpoint at address addr. If #13 Set  count is given, breakpoint is taken  after count times. If cmnd is given,  the command is executed at each break. Breakpoint BC list | * Deletes breakpoints in list, or all Clear  breakpoints if * is given instead. Breakpoint BD list | * Disables breakpoints in list, or all Disable  breakpoints if * is given instead. Breakpoint BE list | * Enables breakpoints in list, or all Enable  breakpoints if * is given instead. Breakpoint BL List breakpoints, including status, List  location, pass count, and associated & commands. 0 SCREEN 2 OF 2 (Watch/Break) Memory Type Formats--used with Dump, Watch, and Enter commands: #14 A ASCII-format string B Byte (8-bit hexadecimal unsigned integer) I Integer (16-bit decimal) U Unsigned (16-bit decimal unsigned integer) W Word (16-bit unsigned hexadecimal) D Double Word (32-bit unsigned hexadecimal) S Short Real (4 bytes) L Long Real (8 bytes) T Ten-byte Real Specifying Addresses and Address Ranges expression1 [:expression2] Specifies offset or segmented address. address1 address2 Range from address1 to address2. address1 L size Range beginning at address1 and of length  size. - SCREEN 1 OF 3 (Memory Operations) Enter E[type] addr [list] Enters values of type, beginning at addr. #15  Debugger will prompt if list is not given.  Items in list are separated by spaces. Dump D[type] [range] Dumps values of type in range. Previous or  default type assumed if type is not given. Assemble A [address] Assembles mnemonic instructions beginning  at address. Assumes next instruction if  address is not given. Register R[reg [expression]] Sets one of the following registers: AX, BX,  CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, IP,  or 386 extended register. RF [flag] Sets a condition from one of these pairs: OV-NV, DN-UP, EI-DI, NG-PL, ZR-NZ, AC-NA, PE-PO, CY-NC. - SCREEN 2 OF 3 (Memory Operations) Search Memory S range list Displays each address in range that #16   begins a sequence matching each byte   in list. Compare Memory C range address Compares bytes in range to an equal-   sized block beginning at address. Fill Memory F range list Fills range with byte values in list,   repeating values until range filled. Move Memory M range address Copies values in range to an equal-   sized block beginning at address. Port Input I port Displays value at port. Port Output O port byte Assigns byte to port. 8087 7 Displays 8087 registers and stack. - SCREEN 3 OF 3 (Memory Operations) Help H Enters CodeView Help System. #17 Load L [arguments] Reloads program. Uses new command-line  arguments if given. Option O[{F|B|C|3}[+|-]] Sets (+), clears (-), or displays the  status of Flip/Swap, Bytes Coded, Case  Sense, or 386 option. Quit Q Exits the CodeView debugger. Radix N [radix] Sets radix to 8, 10, or 16, if radix is  given; otherwise displays current radix. Redraw @ Redraws display screen. - SCREEN 1 OF 3 (System Commands) K #18 Screen Exchange \ Displays the output screen. Press any key   to return to the debugging screen. Shell Escape ![command] Starts a new DOS shell and executes the   program or DOS command given as command. If   command is not given, user can enter commands   from the DOS prompt, and then enter EXIT when   ready to return to the DOS prompt. Tab Set #number Sets the number of spaces per tab, to number. Text Selection mouse  Selects text when the right mouse button is held down and the mouse is dragged right or left. The selected text appears in the next dialog box, or at the cursor position when SHIFT+INS is pressed. - SCREEN 2 OF 3 (System Commands) Redirection Commands 6 #19 [T]>[>]device Redirects command output to device (file or device). If  T given, output is echoed on CodeView screen. If second  > given, output is appended. \ Removes special meaning (if any) of next character, so  that it is treated as ordinary text. Special characters  are \ . * [ ] ^ $. . Matches any character. * Matches zero or more repetitions of previous character. ^ or $  Matches beginning or end of line, respectively. Continued on next screen. SCREEN 1 OF 2 (Regular Expressions) K #21 Character Function >  [characters] Matches any of the characters within brackets. The  following characters have special meaning within brackets:  ^ When appearing at the beginning of characters,  reverses the function of the brackets so that all  characters will be matched except those in the  brackets. (Example: "[^a]" matches all characters  except "a.")   - Matches characters in range specified by characters  on either side of -. (Example: "[a-c]" matches "a,"  "b," or "c.") To nullify special meaning of -,  place at start or end of characters. (Example:  "[-ac]".) + SCREEN 2 OF 2 (Regular Expressions) Thread Command 3 #22 ~[specifier[command]] Performs command on thread(s) denoted by  specifier. Legal values of specifer and  command given below and on following screens. Specifier Description 3 (blank) Displays the status of all threads.  # Specifies last thread executed. * Specifies all threads. n Specifies indicated thread by numeric value. . Specifies current thread. 0 SCREEN 1 OF 3 (Thread Command) Command Description #23 3 (blank) Status of selected thread(s) is displayed.  BP  Breakpoint is set for the specified thread(s).   This command is followed by the normal   breakpoint syntax (see Screen #13).   E  Specified thread is executed in slow motion,   while other threads are frozen. ~*E is legal   only in source mode; it executes current   thread, while other threads run concurrently.   F  Specified thread(s) is frozen.   G  Control is passed to specified thread, while  other threads are frozen. ~*G runs all threads  concurrently. 0 SCREEN 2 OF 3 (Thread Command) Command  Description ! #24 3 P A program step is executed for the specified thread, while other threads are frozen. ~*P is legal only in source mode; it executes a program step for current thread, while other threads run concurrently. S Specified thread is selected as current thread. T Similar to P, except that T traces through function on calls and P does not. U Specified thread is unfrozen. 0 SCREEN 3 OF 3 (Thread Command) =========Execute Code========== ================Examine Data================= T [] ............. Trace ? [,format] ........ Display Expression P [] ...... Program Step X?[mod!][fun.][sym][*] ...... Examine Symbols G [] ................. Go D[] [] .................... Dump E ..................... Execute R [] [[=]] .............. Register L [] ............ Restart 7 ........................ 8087 Register Dump =================Breakpoints==================== =======Watch Statements====== BP [] [] [""] . Breakpoint Set W? ............. Watch BC [] ................... Breakpoint Clear W[] ..... Watch BD [] ................. Breakpoint Disable WP? ....... Watchpoint BE [] .................. Breakpoint Enable TP? ....... Tracepoint BL ............................. Breakpoint List TP[ Tracepoint =====================Modify===================== Y ........ Delete Watch A [] ............................ Assemble W ................ List Watch E[] [] ....................... Enter =========Redirection========= =====Examine Source===== ====System Control==== [T]>[>] . Send Output S[+|-|&] ...... Set Mode N[] . Set Radix < ..... Receive Input U [] . Unassemble Q ............... Quit = ..... Redirect Both V [] . View Source /[] .... Search " ..................... Pause . ..... Current Location \ .... Screen Exchange : ..................... Delay K .......... Stack Trace #[] ..... Tab Set *[] ........ Comment