14.17.1 Execution Memory Window

The Execution Memory window displays locations in the range of program and/or data memory for the currently selected 32-bit device.

For the MPLAB X Simulator, when an execution memory value changes or the processor is halted, the data in the Execution Memory window is updated.

For any Microchip hardware debug tool (e.g., MPLAB ICD 5 in-circuit emulator), when an execution memory value changes or the processor is halted, the data in the Execution Memory window is NOT updated; you must do a Read of device memory.

Figure 14-56. Execution Memory Window with Content

Execution Memory Window Display

You may specify how memory is displayed in the window by selecting from the Format drop-down box on the bottom of the window.

When using a hardware tool for debug, some registers may show an R for each nibble of data to represent a reserved resource.

Code Format

This format displays execution memory information as hex code. The window will have the following columns:

  • Line – Reference line number corresponding to memory address.
  • Address – Physical hexadecimal address of the opcode.
  • Opcode – Hexadecimal opcode, shown in 4-byte blocks. The opcode that is highlighted represents the current location of the program counter.
  • Label – Opcode label in symbolic format.
  • Disassembly – A disassembled version of the opcode mnemonic.

Data Format

This window will have the following columns:

  • Address – Hexadecimal address of the data in the next column.
  • Data Blocks – Hexadecimal data, shown in 4-byte blocks.
  • ASCII – ASCII representation of the corresponding line of data.

Execution Memory Window Icons

Icons are located on the left side of the window.

Table 14-57. Execution Memory Window Icons
IconIcon TextFunction
Refresh by Read Device MemorySame function as the Debug toolbar Read Device Memory icon - uploads device memory to the MPLAB X IDE.
FindSpecify a string to find in the window. Select to match whole word or case.
Find NextFind next instance of string from Find.
Find PreviousFind previous instance of string from Find.
Go ToGo to specified line number or address.

Execution Memory Window Menu

Right click in the memory window data area set to CODE FORMAT to pop up this menu. Not all items may be visible for all 32-bit MCUs.

Table 14-58. Execution Memory Window Content Menu - Code Format
ItemDescription
Virtual Address

(KSEG[0:1])

Select virtual addresses for display. See your device data sheet for details.
Physical AddressSelect physical addresses for display.
Run to CursorRun the program to the current cursor location.
Step InstructionPerform a step instruction.
Set PC at CursorSet the Program Counter (PC) to the cursor location.
Focus Cursor at PCMove the cursor to the current PC address and centers this address in the window.
Toggle BreakpointToggle (on/off) existing breakpoint.
Symbolic ModeDisplay disassembled hex code with symbols.
Auto Decode 16 bitUse MIP16 / microMIPS instruction decoding. See your device data sheet for details.
Fill MemoryFill memory from Start Address to End Address with the value in Data.

Specify other options in the Fill Memory dialog.

Go ToGo to the address/function specified using the Go To dialog.
Go To Source LineGo to the corresponding line in source code in the editor.
FindFind text specified using the Find dialog.
Output To FileWrite the displayed window contents to a text file using the Output to File dialog.
PrintPrint the contents of this window using the Print dialog.
Note: If you have a large memory device, the number of pages printed can become very large. A suggestion is to print the window contents to a file (Print dialog, General tab, Print to File check box) and then select which pages from the file you need to print.
Adjust Table ColumnsAdjust the columns automatically.

Right click in the memory window data area set to DATA FORMAT to pop up the menu. Not all items may be visible for all 32-bit MCUs.

Table 14-59. Execution Memory Window Content Menu - Data Format
ItemDescription
Virtual Address

(KSEG[0:1])

Select virtual addresses for display. See your device data sheet for details.
Physical AddressSelect physical addresses for display.
Hex Width DisplaySet the hexadecimal display width.

(Options depend on the device selected).

Example:

One byte, e.g., 00 01 02 ... 0E 0F

Two bytes, e.g., 00 02 04 ... 0C 0E

Four bytes, e.g., 00 04 08 0C

Fill MemoryFill memory from Start Address to End Address with the value in Data.

Specify other options in the Fill Memory dialog.

Go ToGo to the address/function specified using the Go To dialog.
FindFind text specified using the Find dialog.
Output To FileWrite the displayed window contents to a text file using the Output to File dialog.
Import TableImport tabular data from a file into a Memory window using the Import Table dialog.
Export TableExport tabular data from a Memory window into a file using the Export Table dialog.
PrintPrint the contents of this window using the Print dialog.
Note: If you have a large memory device, the number of pages printed can become very large. A suggestion is to print the window contents to a file (Print dialog, General tab, Print to File check box) and then select which pages from the file you need to print.
Adjust Table ColumnsAdjust the columns automatically.