Everything
 

Disassemble panel


This panel displays the disassembled results of memory contents (disassembled text), as well as displays the results of line assemble (see "2.6.4 Performing line assembly"), instruction-level debugging (see "2.9.3 Execute programs in steps"), and code coverage measurements [Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]] (see "2.15 Measure Coverage [Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]]").

Up to four instances of this panel can be displayed at a time. Each panel is discriminated by the name "Disassemble1," "Disassemble2," "Disassemble3," and "Disassemble4" in the title bar.

By displaying this panel in mixed display mode, it is also possible to display the source text in a source file corresponding to code data (default).

Note that this panel can only be opened when Cube Suite+ is connected with the debug tool.

Caution

If a program is stepped through while the focus exists on this panel, the program is executed one instruction at a time. (See "2.9.3 Execute programs in steps.")

Remark 1.

In a Scroll Range Settings dialog box that is opened by selecting [View] and then clicking the button in the toolbar, it is possible to set the scroll range of the vertical scroll bar of this panel.

Remark 2.

By choosing [Print...] from the [File] menu, it is possible to print the picture image currently being displayed on this panel.

Figure A.6

Disassemble Panel (When Displayed in Mixed Display Mode)

Figure A.7

Disassemble Panel (When Mixed Display Mode is Turned Off)

Figure A.8

Disassemble Panel (When Code Coverage Measurement Result is Displayed) [Simulator][E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N]

 

This section describes the following.

[How to open]

-

Choose [Disassemble] from the [View] menu and then select [Disassemble1 - 4]

[Description of each area]

(1)

Event area

The lines where an event can be set are displayed against a white background. (If a line is displayed against a gray background, it means that no events can be set on that line.)

If there is a currently set event on a line, an Event mark denoting the type of event is displayed on the line.

This area has the following features:

(a)

Setting/clearing a breakpoint

Click a place with the mouse where you want to set a breakpoint. That way, it is possible to set a breakpoint easily.

A breakpoint is set in an instruction at the beginning address corresponding to the line position you've clicked.

When a breakpoint is set, an Event mark is displayed on the line where you've set the breakpoint. Also, detailed information on the set breakpoint is reflected on the Events panel.

Note that if you've done this operation at a place where any event mark is already displayed, the event is deleted and no breakpoint is set.

Also note that an event can be set on only a line that is displayed against a white background.

For details on how to set a breakpoint, see "2.10.2 Stop the program at the arbitrary position (breakpoint)."

(b)

Altering states of various events

Right-clicking any event mark brings up the menu shown below, allowing you to change the state of a selected event.

Enable Event

Changes the state of a selected event to an Enabled state.

When a specified condition is true, the event concerned occurs.

Note that if the event mark denoting that there are multiple events set is selected, all of the set events are enabled.

Disable Event

Changes the state of a selected event to a Disabled state.

Even when a specified condition is true, the event concerned does not occur.

Note that if the event mark denoting that there are multiple events set is selected, all of the set events are disabled.

Delete Event

Deletes a selected event.

Note that if the event mark denoting that there are multiple events set is selected, all of the set events are deleted.

View Details in Event Panel

Opens an Events panel that shows detailed information on a selected event.

(c)

Popup display

When the mouse cursor is hovered over an Event mark, the event name of the event, detailed information on it, and the comment added to the event are displayed in a popup box.

Note that if there are multiple events set at the relevant place, information on each event, for up to three, is enumerated.

(2)

Address area

This area displays the beginning address of disassembly on each line (always displayed in hexadecimal).

Also, the current PC mark ( ) denoting the current PC position (PC register value) is displayed.

The address width is equal to that of the memory space of the microcontroller that is specified in the project.

Note that, for the source text line during mixed display mode, a line number (xxx:) in a source file corresponding to the beginning address is displayed.

This area has the following features:

(a)

Popup display

When the mouse cursor is hovered over an address/source line number, the following information is displayed in a popup box.

Address

Format: <load module name>Note$<label name> + <offset value>

Example1: test1.out$main + 0x10

Example2: sub function + 0x20

Source line number

Format: <load module name>Note$<file name> # <line number>

Example1: test1.out$main.c#40

Example2: main.c#100

Note

The load module name is displayed only when there are multiple load module files that have been downloaded.

(3)

Disassemble area

Following the source text line concerned, a disassembled result line is displayed as shown below.

Figure A.9

Contents of Displayed Disassemble Area (When Displayed in Mixed Display Mode)

Label line

Shows a label name, if a label is defined at the address, and highlights the entire line in pale green color.

Current PC line

Highlights a line corresponding to the address of the current PC position (PC register value).Note 1

Breakpoint set line

Highlights a line where a breakpoint is set.Note 1

Source text line

Shows source text corresponding to code data.Note 2

Disassembled result line

Offset value

Shows an offset value from the nearest label, if no labels are defined at the address.Note 3

Instruction code

Shows the code that was disassembled in hexadecimal.

Instruction

Shows an instruction resulting from disassembly. The mnemonic is highlighted in blue.

Note 1.

The highlighting color depends on how the [General - Font and Color] category in the Option dialog box are set.

Note 2.

By clicking the button (toggle) in the toolbar or unchecking [Mixed Display] on the context menu, it is possible to hide the source text. (By default, this menu item is checked.)

Note 3.

The offset value is, by default, not displayed. To show it, click the button in the toolbar or select [Show Offset] on the context menu.

 

This area has the following features:

(a)

Line assembly

The displayed instruction/code can be edited (assembled in-line).

For details on how to do it, see "2.6.4 Performing line assembly."

(b)

Program execution at instruction level

By stepping through a program while the focus exists on this panel, it is possible to control program execution at the instruction level.

For details on how to do it, see "2.9.3 Execute programs in steps."

(c)

Setting various events

By selecting [Break Settings], [Trace Settings] or [Timer Settings] on the context menu, it is possible to set various events at the address or line at which the caret currently exits.

When an event is set, the corresponding Event mark is displayed in the Event area. Also, detailed information on the set event is reflected on the Events panel.

However, events can only be set on a line that is displayed against a white background in the event area.

For details on how to set an event, see the following sections:

Remark

Breakpoints can also be set or cleared easily in the Event area. (See "(a) Setting/clearing a breakpoint.")

(d)

Registering a watch-expression

The displayed C variable, CPU register, I/O register or assembler symbol can be registered as a watch-expression in the Watch panel.

For details on how to do it, see "2.11.6.1 Registering watch-expressions."

(e)

Moving to a symbol defined location

While the caret has been moved to an instruction that references a symbol, click the button in the toolbar or select [Go to Symbol] on the context menu. The caret position is moved to the address at which the symbol at the caret position is defined.

Also, following this operation, click the button in the toolbar or select [Back to Address] on the context menu. The caret position is returned to the instruction that was referencing the symbol before the caret was moved. (Address denotes the address value of the instruction that references the symbol.)

(f)

Jumping to a source line/memory value

When [Jump to Source] on the context menu is selected, the Editor panel is opened, with the caret on it moved to a source line corresponding to the address of the current caret position. (If the Editor panel is already open, CS+ jumps to it directly.)

Similarly, when [Jump to Memory] on the context menu is selected, the Memory panel (Memory1) is opened, with the caret on it moved to a memory value corresponding to the address of the current caret position. (If the Memory panel is already open, CS+ jumps to it directly.)

(g)

Displaying a code coverage measurement result [Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]]

If the coverage function is enabled, the lines included in the area that was subjected to coverage measurement are highlighted based on the code coverage measurement result acquired 2.15 Measure Coverage [Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]] by program execution.

For details about coverage measurement, see "2.15 Measure Coverage [Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]]."

(h)

Saving disassembled data

By choosing [Save Disassemble Data As…] from the [File] menu, it is possible to open the Data Save dialog box and save the content of this panel in a text file (*.txt) or CSV file (*.csv).

For details on how to save disassembled data, see "2.6.2.5 Saving the displayed contents of disassembled results."

(i)

Zoom in or out on a view

To zoom in and out of the Disassemble panel view, change the zoom ratio by using the drop-down list on the toolbar of the Main window while the focus is placed in the Disassemble panel.

You can also change the zoom ratio by using the [Ctrl] key + mouse-wheel combination.

-

Using the [Ctrl] key + mouse-wheel forward will zoom into the view, making the contents larger and easier to see (max. 300%).

-

Using the [Ctrl] key + mouse-wheel backward will zoom out of the view, making the contents smaller (min. 25%).

Remark

The following items can be customized by setting the Option dialog box.

-

Display fonts

-

Colors of reserved words/comments

[Toolbar]

 

Gets latest information from the debug tool to update the display.

 

Selects mixed display mode that shows the correspondence between disassembled result and source text (default).

 

Specifies that the caret position track the current PC value.

 

Moves the caret to the position at which a selected symbol is defined.

 

Moves the caret to a position (address) at which it was immediately before being moved with the button.

View

Shows the following buttons that change the form in which a disassemble area is displayed.

 

Show Offset

Displays the offset value of a label. If no labels are defined at the address, the offset value from the nearest label is displayed.

Show Symbol

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

However, if the address value has a symbol defined in it, only the symbol is displayed.

 

Opens the Scroll Range Settings dialog box to set a scroll range.

[[File] menu (Disassemble Panel-Only Items)]

The [File] menu used exclusively for the Disassemble panel is as follows. (The other items are shared.)

However, all of these items are disabled during program execution.

Save Disassemble Data

Saves the disassembled content to a text file (*.txt) or CSV file (*.csv) that has been saved previously (see "(h) Saving disassembled data").

Note that if this item is selected for the first time after startup, the same operation as [Save Disassemble Data As…] would have been selected is performed.

Save Disassemble Data As…

Opens the Data Save dialog box to save the disassembled content to a specified text file (*.txt) or CSV file (*.csv) (see "(h) Saving disassembled data").

Print...

Opens the Print Address Range Settings dialog box to print the content of this panel.

[[Edit] menu (Disassemble Panel-Only Items)]

The [Edit] menu used exclusively for the Disassemble panel is as follows. (All other items are disabled.).

Copy

Copies the content of a selected line as a character string to the clipboard, if a line is selected.

When in edit mode, a selected character string is copied to the clipboard.

Rename

Goes to edit mode to edit the instruction or instruction code at the caret position (see "2.6.4 Performing line assembly").

However, this is disabled during program execution.

Find…

Opens the Find and Replace dialog box, with its [Find in Files] tab selected.

Replace…

Opens the Find and Replace dialog box, with its [Replace in Files] tab selected.

Go To…

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

[Context menu]

[Disassemble area and Address area]

Register to Watch1

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

When registered as a watch-expression, they are registered as a variable name, so that the displayed symbol name varies with scope.

Register Action Event...

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

Go to Here

Executes the program from an address indicated by the current PC value to an address corresponding to the line where the caret is positioned.

However, this is disabled during program execution or when [Build & Download] is under execution.

Set PC to Here

Changes the current PC value to an address of the line where the caret currently exists.

However, this is disabled during program execution or when [Build & Download] is under execution.

Go To…

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

Go to Symbol

Moves the caret to the position where a selected symbol is defined.

Back to Address

Moves the caret to a position (address) at which it was immediately before being moved by [Go to Symbol].

However, this is disabled when no symbol names are displayed at address.

Break Settings

Shows the following cascaded menu to set break-related events.

Note that events can only be set on event settable lines (see "(1) Event area").

 

Set Hardware Break

Sets a breakpoint (hardware break event) at the address where the caret is positioned (see "2.10.2 Stop the program at the arbitrary position (breakpoint)."

Set Software Break

[E1] [E20]

Sets a breakpoint (software break event) at the address where the caret is positioned (see "2.10.2 Stop the program at the arbitrary position (breakpoint)."

Set Read Break to

[Simulator]

Sets a break event for read access at the caret position or in a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Set Write Break to

[Simulator]

Sets a break event for write access at the caret position or in a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Set R/W Break to

[Simulator]

Sets a break event for read/write access at the caret position or in a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Set Combination Break

[E1] [E20]

Sets a break at the caret position's address or the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register as the condition for a combination break event (see "2.10.3.1 Set a beak event (execution-related)").

Set Read Combination Break to

[E1] [E20]

Sets a break event by a read access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register as the condition for a combination break (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Set Write Combination Break to

[E1] [E20]

Sets a break event by a write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register as the condition for a combination break (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Set R/W Combination Break to

[E1] [E20]

Sets a break event by a read/write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register as the condition for a combination break (see "2.10.4.1 Set a break event (access-related) to a variable/I/O register").

Break Option

Opens the Property panel to set a break function.

Trace Settings

Shows the following cascaded menu to set a trace-related event.

Note that events can only be set on event settable lines (see "(1) Event area").

 

Start Tracing

Sets a trace start event that causes collection of trace data indicating a program execution history to start when an instruction at the address where the caret exists is executed (see "2.13.3.1 Setting a trace start event and a trace end event").

[Simulator]

The setting 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 that causes collection of trace data indicating a program execution history to end when an instruction at the address where the caret exists is executed (see "2.13.3.1 Setting a trace start event and a trace end event").

[Simulator]

The setting 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 that, when the caret position or a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register is accessed for read, causes the accessed value to be recorded in trace memory (see "(1) When an access to a variable or I/O register occurred").

Record Writing Value

Sets a point trace event that, when the caret position or a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register is accessed for write, causes the accessed value to be recorded in trace memory (see "(1) When an access to a variable or I/O register occurred").

Record R/W Value

Sets a point trace event that, when the caret position or a selected variable (global variable, static variable inside a function or static variable inside a file) or an I/O register is accessed for read/write, causes the accessed value to be recorded in trace memory (see "(1) When an access to a variable or I/O register occurred").

Record Start R/W Value

Sets a trace event that causes trace recording to start upon read/write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register

(see "2.13.3.1 Setting a trace start event and a trace end event").

Record End R/W Value

Sets a trace event that causes trace recording to end upon read/write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register

(see "2.13.3.1 Setting a trace start event and a trace end event").

Show Trace Result

Opens the Trace panel and displays acquired trace data.

Trace Settings

Opens the Property panel to set the trace function.

However, this is disabled while the tracer is operating.

Timer SettingsNote 1

Shows the following cascaded menu to set a timer-related event (see "2.14.3 Measuring execution time in a section").

Note that events can only be set on event settable lines (see "(1) Event area").

 

Start Timer

Sets a timer start event that causes measurement of program execution time to start when an instruction at the address where the caret exists is executed (see "(1) How to set a timer start event").

Stop Timer

Sets a timer end event that causes measurement of program execution time to end when an instruction at the address where the caret exists is executed (see "(2) How to set a timer end event").

Set Timer Start R/W Value

Sets a timer start event that causes a measurement of the program's execution time to start upon read/write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register (see "(1) How to set a timer start event").

 

Set Timer <N>

[E1] [E20]

Specify a channelNote 2 in which a timer start event is set.

Set Timer End R/W Value

Sets a timer end event that causes a measurement of the program's execution time to finish upon read/write access to the caret position or a selected variable (global variable, static variable inside a function, static variable inside a file) or I/O register (see "(2) How to set a timer end event").

 

Set Timer <N>

[E1] [E20]

Specify a channelNote 2 in which a timer start event is set.

View Result of Timer

Opens the Events panel to display only timer-related events.

Clear Coverage Information

[Simulator] [E20 [RX71M, RX66x, RX65x, RX64M, RX66T, RX671, RX72T, RX72M, and RX72N Groups]]

Clears all of the code coverage measurement results that the debug tool currently holds.

However, this item is not displayed if the debug tool used does not support the coverage function.

Edit Disassemble

Goes to edit mode to edit an instruction at the line where the caret is positioned (see "2.6.4 Performing line assembly").

However, this is disabled during program execution.

Edit Code

Goes to edit mode to edit an instruction code at the line where the caret is positioned (see "2.6.4 Performing line assembly").

However, this is disabled during program execution.

View

Shows the following cascaded menu to set the contents displayed in the disassemble area.

 

Show Offset

Displays the offset value of a label. If no labels are defined at the address, the offset value from the nearest label is displayed.

Show Symbol

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

However, if the address value has a symbol defined in it, only the symbol is displayed.

Settings Scroll Range...

Opens the Scroll Range Settings dialog box to set a scroll range.

Mixed Display

Selects mixed display mode that shows the correspondence between disassembled result and source text (default).

Jump to Source

Opens the Editor panel, with the caret on it moved to a source line corresponding to the address at the caret position.

Jump to Memory

Opens the Memory panel (Memory1), with the caret on it moved to a memory value corresponding to the address at the caret position.

Note 1.

[E1] [E20]
RX100 Series other than RX140 Group does not support timers.

Note 2.

The specifiable number of channels differs between the RX600/RX700 and RX200 Series/RX140 Group, as shown below.
RX600, RX700 Series: 2 (32 bits * 2) or 1 (64 bits * 1)
RX200 Series, RX140 Group: 1 (24 bits * 1)

 

[Event area] ([E1] [E20])

Hardware Break First

Defines the type of break that can be set by clicking the mouse once to be a hardware breakpoint (reflected in the setting of the [Type of breakpoints to be preferentially used] in the [Break] [E1] [E20] category on the Property panel.

Software Break First

Defines the type of break that can be set by clicking the mouse once to be a software breakpoint (reflected in the setting of the [Type of breakpoints to be preferentially used] in the [Break] [E1] [E20] category on the Property panel).