15.3.9 Modifying the Values of Variables, Memory, and Registers

You can easily change the values of variables, memory locations, or registers displayed in the Watch, Local, Memory, Register, or 8087 windows. Simply position the cursor at the value you want to change and edit it to the appropriate value. In the Watch and Local windows, the change is accepted by CodeView when you move the cursor off the line. If you change your mind, press ALT+BKSP to undo the last change you made.

You can also alter expressions in the Watch window by adding an operator or changing the variable displayed. When you have altered the expression and moved the cursor off the line, CodeView will immediately show the new value of the modified expression.

The starting address of each line of memory displayed is shown at the left of the Memory window in segment:offset form. Altering the address automatically shifts the display to the corresponding section of memory. Under OS/2, if your program does not own that section of memory, memory values are displayed as double question marks (??).

Summary: It's easy to change memory values...

You can also change the values of memory locations by modifying the right side of the memory display (where memory values are shown in ASCII form). For example, to change a byte from decimal 75 to decimal 85, place the cursor over the letter K, which corresponds to the position where the memory value is 75 (K is ASCII 75), and type in U (ASCII 85).

Summary: ...or flags.

To toggle a processor flag, double-click its mnemonic. You can also position the cursor on a mnemonic, then press any key (except ENTER, TAB, or SPACE). Press ALT+BKSP (undo) to restore the flag to its previous setting.

Summary: Be cautious when modifying memory or a register.

The effect of changing a register, flag, or memory location can vary from no effect at all to crashing the operating system. Be cautious when altering these values.