Viewing the Assembler Version of Your Code
You can display your program in source or assembler using these commands:
Source code (Default)
Select the View > Source As > Source command.
Assembler code
Select the View > Source As > Assembler command.
Both Source and assembler
Select the View > Source As > Both command.
The Source Pane divides into two parts. The left pane contains the program’s source code and the right contains the assembler version. You can set breakpoints in either of these panes. Setting an
action point at the first instruction after a source statement is the same as setting it at that source statement.
The following commands display your assembler code by using symbolic or absolute addresses:
Command | Display |
---|
View > Assembler > By Address | Absolute addresses for locations and references (default) |
View > Assembler > Symbolically | Symbolic addresses (function names and offsets) for locations and references |
NOTE: You can also display assembler instructions in a Variable Window. For more information, see
Displaying Machine Instructions.
The following three figures illustrate the different ways TotalView can display assembler code. In
Figure 83, the second column (the one to the right of the line numbers) shows the absolute address location. The fourth column shows references using absolute addresses.
Figure 84 displays information symbolically. The second column shows locations using functions and offsets.
Figure 85 displays the split Source Pane, with the program’s source code on the left and assembler version on the right. In this example, the assembler is shown symbolically (by selecting
View > Assembler > Symbolically).
NOTE: When TotalView displays instructions, the arguments are almost always in the following order: “source,destination”. On Linux-x86 (32-bit) and Linux x86-64 platforms, this can be confusing as the order indicated in AMD and Intel technical literature indicates that the order is usually “destination,source”. The order in which TotalView displays this information conforms to the GNU assembler. This ordering is usually an issue only when you are examining a core dump.