Disassemble panel


This panel is used to display the results of disassembling the contents of the memory (disassembled text), and execute line assembly (see "2.6.4 Perform line assembly").

Furthermore, the instruction level debugging (see "2.7.3 Execute programs in steps") and the code coverage measurement result display [IECUBE][Simulator] (see "2.13 Measure Coverage [IECUBE][Simulator]") can be performed in this panel.

Up to a maximum of four of these panels can be opened. Each panel is identified by the names "Disassemble1", "Disassemble2", "Disassemble3" and "Disassemble4" on the titlebar.

The source text in the source file corresponding to the code data can also be displayed by setting to the Mixed display mode (default).

This panel appears only when connected to the debug tool.

Caution

A step execution is performed in instruction level units when the focus is in this panel (see "2.7.3 Execute programs in steps").

Remark 1.

You can set the scroll range of the vertical scroll bar on this panel via the Scroll Range Settings dialog box which is opened by clicking the button from [View] on the toolbar.

Remark 2.

You can print the current screen image of this panel by selecting [Print...] from the [File] menu.

Remark 3.

This panel can be zoomed in and out by in the tool bar, or by moving the mouse wheel forward or backward while holding down the [Ctrl] key.

Figure A.16

Disassemble Panel (When Mixed Display Mode Is Selected)

Figure A.17

Disassemble Panel (When Disassemble Display Mode Is Selected)

Figure A.18

Disassemble Panel (When Code Coverage Measurement Result Is Displayed)

 

This section describes the following.

[How to open]

-

From the [View] menu, select [Disassemble] >> [Disassemble1 - 4].

[Description of each area]

(1)

Event area

The lines for which events can be set are shown with the background color in white (this mean that events cannot be set for those lines whose background color in gray).

In addition, the Event mark corresponding to an event that has been currently set is displayed.

This area is provided with the following functions.

(a)

Setting/deleting breakpoints

By clicking where you want to set a breakpoint with the mouse, the breakpoint can be set easily.

The breakpoint is set to the instruction at the start address of the clicked line.

Once the breakpoint is set, the Event mark is displayed at the line that is set. In addition, the detailed information about the set breakpoint is reflected in the Events panel.

When this operation is performed at a place where any one of the event marks is already being displayed, that event is deleted and the setting of breakpoints cannot be done.

Note that the setting of events can be done only for those lines where the background color is shown in white.

See "2.8.3 Stop the program at the arbitrary position (breakpoint)" for details on how to set the breakpoint.

(b)

Changes event status

Event status can be changed from the following menu displayed by right-clicking the event mark.

Enable Event

Changes the selected event state to a Valid state.

Event occurs when the specified condition is met.

When the event mark ( ) which indicates that multiple events have been set is selected, all of the events that have been set are enabled.

Disable Event

Changes the selected event state to an Invalid state.

Event does not occur when the specified condition is met.

When the event mark ( ) which indicates that multiple events have been set is selected, all of the events that have been set are disabled.

Delete Event

Deletes the selected event.

When the event mark ( ) which indicates that multiple events have been set is selected, all of the events that have been set are deleted.

View Event Detailed Setup

Opens the Events panel to display the detailed information of the selected event.

(c)

Pop-up display

By hovering the mouse cursor over the Event mark, the name of the event, the detailed information for the event and the comments added to the event are pop-up displayed.

When multiple events have been set in the applicable place, information for each event, up to a maximum of three events, is listed and displayed.

(2)

Address area

The address per line to start disassembling is displayed (hexadecimal number notation fixing).

In addition, the current PC mark ( ) that corresponds to the current PC position (PC register value) is displayed.

The address width corresponds to the one in memory space of the specified microcontroller in the project.

For the source text line in the mixed display mode, line numbers (xxx:) in the source file correspond to the start address are displayed.

This area is provided with the following functions.

(a)

Pop-up display

By hovering the mouse cursor over a address or line number, the following information is pop-up displayed.

Address

Format: <Label name> + <Offset value>

Example1: main + 0x10

Example2: sub function + 0x20

Source line number

Format: <File name> # <Line number>

Example1: main.c#40

Example2: main.c#100

(3)

Disassemble area

The results of disassembling are displayed next to the corresponding source text as follows.

Figure A.19

Display Contents of Disassemble Area (In Case of Mixed Display Mode)

Label line

The label is displayed when a label is defined for the address, and its corresponding line is shown highlighted in lightgreen.

PC line

A line corresponding to an address of the current PC (PC register value) is shown highlightedNote 1.

Breakpoint line

A line at which a breakpoint is set is shown highlightedNote 1.

Source text line

The source text corresponding to the code data is displayedNote 2.

Disassemble results

Offset value

The offset value from the nearest label is displayed when a label is defined for the addressNote 3.

Code

The code that is the target of disassembly is displayed in hexadecimal number.

Instruction

Instruction is displayed as the result of disassembling.

The mnemonics are shown highlighted in blue.

Note 1.

The highlighting color depends on the configuration in the [General - Font and Color] category of the Option dialog box.

Note 2.

The source text can be set to non-display by clicking the button (toggle) on the toolbar or removing the check for [Mixed Display] from the context menu (this option is checked by default).

Note 3.

Offset values are not displayed by default. They can be displayed by clicking the button on the toolbar or selecting [Show Offset] from the context menu.

This area is provided with the following functions.

(a)

Line assembly

Instructions and code displayed in this panel can be edited (line assembly).

See "2.6.4 Perform line assembly" for details on how to operate it.

(b)

Program execution by instruction level

Execution can be controlled at the instruction level unit by step executing a program in a state where there is a focus on this panel.

See "2.7.3 Execute programs in steps" for details on how to operate it.

(c)

Setting of various events

Various events can be set to the addresses/lines where the caret currently exists by selecting [Bread Settings], [Trace Settings] or [Timer Settings] from the context menu.

The corresponding Event mark is displayed in the Event area when an event is set. In addition, the detailed information about the set event is reflected in the Events panel.

+Note, however, that the setting of events can be done only for those lines where the background color is shown in white in the event area.

See the following for details on how to set events.

Remark

A breakpoint can be set or deleted easily in the Event area as well (see "(a) Setting/deleting breakpoints").

(d)

Registering watch-expression

Variable names of C language, CPU registers, SFR, and assembler symbols can be registered in the Watch panel as watch-expressions.

See "2.9.6.1 Register a watch-expression" for details on how to operate it.

(e)

Moving to symbol definition place

By clicking the button on the toolbar or selecting [Go to Symbol] from the context menu in a state where the caret has been moved to a instruction that has referenced a symbol, the caret position is moved to the address where the symbol at the caret position has been defined.

In addition, when following on this operation you click on the button on the toolbar or select [Back to Address] from the context menu, the caret position is returned to the instruction that has referenced a symbol before the caret was moved (the address value of the instruction that has referenced a symbol is displayed in Address).

(f)

Jump to source line and memory

Selecting [Jump to Source] from the context menu will open the Editor panel with the caret moved to the source line corresponding to the address at the current caret position (if the Editor panel is already open, the screen will jump to the panel).

In addition, similarly, selecting [Jump to Memory] will open the Memory panel (Memory1) with the caret moved to the memory value corresponding to the address at the current caret position (if the Memory panel (Memory1) is already open, the screen will jump to the panel).

(g)

Code coverage measurement result display [IECUBE][Simulator]

When the coverage function is validNote, lines corresponding to the specified coverage measurement area are shown highlighted based on the code coverage measurement result that is acquired by executing the program.

See "2.13 Measure Coverage [IECUBE][Simulator]" for details on the coverage measurement.

Note

[IECUBE]

The coverage function is always valid.

(h)

Saving the contents of disassembled data

The Data Save dialog box can be opened by selecting the [File] menu >> [Save Disassemble Data As…], and the contents of this panel can be saved in a text file (*.txt) or CSV file (*.csv). See "2.6.2.5 Save the disassembled text contents" for details on the method for saving the contents of disassembled data.

[Toolbar]

 

Acquires the latest data from the debug tool, and updates the contents of this panel.

 

Sets to the mixed display mode and displays the correspondence between the disassembled data and the source text (default).

 

Specifies the caret position so that it follows the current PC value.

 

Moves the caret to the define position of the selected symbol.

 

Moves the caret to the position (address) immediately before it is moved with the button.

View

The following buttons to set the display contents in the disassemble area are displayed.

 

Show Offset

Displays the offset value of the label. The offset value from the nearest label is displayed when a label is defined for the address.

Show Symbol

Displays the address value in the format "symbol + offset value" (default).

Note that when a symbol has been defined as the address value, only the symbol is displayed.

Show Function Name

Displays the name of the register by its function name (default).

Show Absolute Name

Displays the name of the register by its absolute name.

 

Opens the Scroll Range Settings dialog box to set the scroll range for this panel.

[[File] menu (Disassemble panel-dedicated items)]

The following items are exclusive for the [File] menu in the Disassemble panel (other items are common to all the panels).

Note that all these items are disabled during execution of a program.

Save Disassemble Data

Overwrites the contents of the disassembling to the previously saved text file (*.txt)/CSV file (*.csv) (see "(h) Saving the contents of disassembled data").

Note that when the file has never been saved or the file is write disabled, the same operation is applied as the selection in [Save Disassemble Data As…].

Save Disassemble Data As…

Opens the Data Save dialog box to newly save the contents of the disassembling to the specified text file (*.txt)/CSV file (*.csv) (see "(h) Saving the contents of disassembled data").

Print...

Opens the Print Address Range Settings dialog box for printing the contents of this panel.

[[Edit] menu (Disassemble panel-dedicated items)]

The following items are exclusive for the [Edit] menu in the Disassemble panel (all other items are disabled).

Copy

When a line is selected, copies the contents of the selected line to the clipboard as a character string.

In the case of the edit mode, copies the selected character string to the clipboard.

Rename

Changes to the edit mode to edit the instruction/code at the caret position (see "2.6.4 Perform line assembly").

This item is disabled during execution of a program.

Find…

Opens the Find and Replace dialog box with selecting the [Find in Files] tab.

Replace…

Opens the Find and Replace dialog box with selecting the [Replace in Files] tab.

Move…

Opens the Go to the Location dialog box to move the caret to the specified address.

[Context menu]

[Disassemble area and Address area]

Register to Watch1

Registers the selected character string or the word at the caret position to the Watch panel (Watch1) as a watch-expression (the judgment of the word depends on current build tool).

At this time, since it is registered as a variable name, the symbol name that is displayed changes depending on the scope.

Register Action Event...

Opens the Action Events dialog box to set an action event to the address at the caret position.

Go to Here

Executes the program from the address indicated by the current PC value to the address corresponding to the line at the caret position.

This item is disabled during program execution/build (not including rapid build) execution.

Set PC to Here

Sets the address of the line at the current caret position to the current PC value.

This item is disabled during program execution/build (not including rapid build) execution.

Move…

Opens the Go to the Location dialog box to move the caret to the specified address.

Go to Symbol

Moves the caret to the define position of the selected symbol.

Back to Address

Moves the caret to the position (address) immediately before it is moved by [Go to Symbol].

Note that this item is disabled when no symbol name is displayed in the address.

Break Settings

The following cascade menus are displayed to set the break-related event.

Note that breakpoints can be set only for lines for which events can be set (see "(1) Event area").

 

Set Hardware Break

Sets a breakpoint (Hardware Break event to the address at the caret position (see "2.8.3 Stop the program at the arbitrary position (breakpoint)").

Set Software Break

(except [Simulator])

Sets a breakpoint (Software Break event) to the address at the caret position (see "2.8.3 Stop the program at the arbitrary position (breakpoint)").

Set Combination Break

[E1][E20]

Sets a break event (execution type) to the address at the caret position as one of the condition for a combination break event (see "2.8.4.1 Set a break event (execution type)")Note 1.

Set Read Break to

Sets a break event with read access condition to a variable at the caret or a selected variable (global variable/static variable inside functions/file-internal static variable)/SFR (see "2.8.5.1 Set a break event (access type)").

Set Write Break to

Sets a break event with write access condition to a variable at the caret or a selected variable (global variable/static variable inside functions/file-internal static variable)/SFR (see "2.8.5.1 Set a break event (access type)").

Set R/W Break to

Sets a break event with read/write access condition to a variable at the caret or a selected variable (global variable/static variable inside functions/file-internal static variable)/SFR (see "2.8.5.1 Set a break event (access type)").

Set Read Combination Break to

[E1][E20]

Sets a break event with read access condition to the line at the caret or the selected variable (global variable, static variable inside functions, or file-internal static variable)/SFR as one of the condition for a combination break event (see "2.8.5.1 Set a break event (access type)")Note 1.

Set Write Combination Break to

[E1][E20]

Sets a break event with write access condition to the line at the caret or the selected variable (global variable, static variable inside functions, or file-internal static variable)/SFR as one of the condition for a combination break event (see "2.8.5.1 Set a break event (access type)")Note 1.

Set R/W Combination Break to

[E1][E20]

Sets a break event with read/write access condition to the line at the caret or the selected variable (global variable, static variable inside functions, file-internal static variable)/SFR as one of the condition for a combination break event (see "2.8.5.1 Set a break event (access type)")Note 1.

Break Option

Opens the Property panel to set the break function.

Trace Settings

The following cascade menus are displayed to set the trace-related eventNote 2.

Note that events can be set only for lines for which events can be set (see "(1) Event area").

 

Start Tracing

Sets a trace start event to start collecting the trace data when an instruction of an address at the caret position is executed (see "2.11.3.1 Set a Trace event").

[Simulator]

In addition, the selecting of the [Use trace function] property in the [Trace] category on the Property panel is automatically set to [Yes].

Stop Tracing

Sets a trace end event to stop collecting the trace data when an instruction of an address at the caret position is executed (see "2.11.3.1 Set a Trace event").

[Simulator]

In addition, the selecting of the [Use trace function] property in the [Trace] category on the Property panel is automatically set to [Yes].

Record Reading Value

Sets a Point Trace event to record the access value as the trace data when a variable at the caret or the selected variable (global variable, static variable inside functions, file-internal static variable) or SFR is read accessed (see "2.11.4.1 Set a Point Trace event").

Record Writing Value

Sets a Point Trace event to record the access value as the trace data when a variable at the caret or the selected variable (global variable, static variable inside functions, file-internal static variable) or SFR is write accessed (see "2.11.4.1 Set a Point Trace event").

Record R/W Value

Sets a Point Trace event to record the access value as the trace data when a variable at the caret or a selected variable (global variable/static variable inside functions/file-internal static variable)/SFR is read/write accessed (see "2.11.4.1 Set a Point Trace event").

Record Start R/W Value

[E1][E20]

Sets a trace start event to start collecting the trace data when a variable at the caret or the selected variable (global variable, static variable inside functions, file-internal static variable) /SFR is read/ write accessed (see "2.11.3.1 Set a Trace event").

Record End R/W Value

[E1][E20]

Sets a trace end event to stop collecting the trace data when a variable at the caret or the selected variable (global variable, static variable inside functions, file-internal static variable) /SFR is read/ write accessed (see "2.11.3.1 Set a Trace event").

Show Trace Result

Opens the Trace panel and displays the acquired trace data.

Trace Settings

Opens the Property panel to set the trace function.

Timer Settings

[IECUBE][Simulator]

The following cascade menus are displayed to set the timer-related event (see "2.12.3 Measure execution time in a section [IECUBE][Simulator]").

Note that events can be set only for lines for which events can be set (see "(1) Event area").

 

Start timer

Sets a timer start event to start measuring the execution time of the program when an instruction of an address at the caret position is executed.

[Simulator]

In addition, the selecting of the [Use timer function] property in the [Timer] [IECUBE][Simulator] category on the Property panel is automatically set to [Yes].

Stop timer

Sets a timer end event to stop measuring the execution time of the program when an instruction of an address at the caret position is executed.

[Simulator]

In addition, the selecting of the [Use timer function] property in the [Timer] [IECUBE][Simulator] category on the Property panel is automatically set to [Yes].

View Result of Timer

Opens the Events panel and displays only timer-related events.

Clear Coverage Information

Clears all the coverage measurement results currently being stored in the debug tool.

Note that this item appears only when the debug tool used supports the coverage function.

Edit Disassemble

Changes to the edit mode to edit the instruction of the line at the caret position (see "2.6.4 Perform line assembly").

This item is disabled during execution of a program.

Edit Code

Changes to the edit mode to edit the code of the line at the caret position (see "2.6.4 Perform line assembly").

This item is disabled during execution of a program.

View

The following cascade menus to set the display contents in the disassemble area are displayed.

 

Show Offset

Displays the offset value of the label. The offset value from the nearest label is displayed when a label is defined for the address.

Show Symbol

Displays the address value in the format "symbol + offset value" (default).

Note that when a symbol has been defined as the address value, only the symbol is displayed.

Show Function Name

Displays the name of the register by its function name (default).

Show Absolute Name

Displays the name of the register by its absolute name.

Settings Scroll Range...

Opens the Scroll Range Settings dialog box to set the scroll range for this panel.

Mixed Display

Sets to the mixed display mode and displays the correspondence between the disassembled data and the source text (default).

Jump to Source

Opens the Editor panel and jumps to the source line corresponding to the address at the caret position in this panel.

Jump to Memory

Opens the Memory panel (Memory1) and jumps to the memory value corresponding to the address at the caret position in this panel.

Note 1.

[E1][E20]

This item is displayed only when the selected microcontroller supports combination break events.

Note 2.

[E1][E20][EZ Emulator]

This item is enabled only when the selected microcontroller incorporates the OCD trace function.

 

[Event area] (except [Simulator])

Hardware Break First

The type of break that can be set by a one click operation of the mouse is set as a hardware breakpoint (this is reflected in the setting of the [First using type of breakpoint] property in the [Break] category on the Property panel).

Software Break First

The type of break that can be set by a one click operation of the mouse is set as a software breakpoint (this is reflected in the setting of the [First using type of breakpoint] property in the [Break] category on the Property panel).