µVision4 User's Guide

Technical Support

On-Line Manuals

µVision4 User's Guide

About µVision User Interface Creating Applications Utilities Debugging Using the Debugger Simulation Start Debugging Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Disassembly Window Event Viewer Execution Profiler Instruction Trace Window Logic Analyzer Setup Setup in Detail Restrictions Using the Logic Analyzer Memory Map Memory Window Performance Analyzer Registers Window Serial Window Symbols Window System Viewer Adding System Viewer Windows Toolbox Trace Data Window Trace Navigation Watch Window Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Operators Memory Type Specifiers Differences Between µVision4 and C Expression Examples Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Debug Commands Debug Functions Simulation Flash Programming Dialogs Example Programs Command Line Appendix

Disassembly Window

The Disassembly Window shows the program execution in assembly code, or, intermixed with the source code (device dependent). When the Disassembly Window is the active window, then all debug-stepping commands work on assembly level.

Disassembly Window Button Open the window with the menu View — Disassembly Window.

  • Enable the trace history with View - Trace - Enable Trace Recording.
  • Use the Context Menu to access commands or set options quickly.
  • Set Breakpoints by clicking into the left (colored) margin.

Disassembly Window Example

The code execution markers identify:

No CodeNo Code - Lines with no code are marked with a light gray block.

Unexecuted CodeUnexecuted Code - Unexecuted lines (instructions) are marked with a dark gray block.

Fully Executed CodeExecuted Code - Fully-executed lines (instructions) are marked with a green block. A green block on a branch instruction indicates that both the true and false conditions have been tested.

Branch TakenBranch Condition True - A cyan (blue) block indicates that only this condition of a branch was true and therefore always taken.

Branch SkippedBranch Condition False - An orange block indicates that this condition of a branch was never true and therefore never taken.

Note

  • Use Debug — Inline Assembly (C51 and C251) to modify instructions while debugging. Allows correcting the code or making temporary changes.
  • Change the background color for the current line (yellow in the picture) with the dialog Edit - Configuration - Colors & Fonts - Disassembly Window - focus line background.