System Debug Reference Manual (32650-90888)

Appendix C 543
Emulated/Translated CM Code
CM Breakpoints in Translated Code
CM Breakpoints in Translated Code
The following discussion assumes that the current Debug mode is CM (prompt is:
%cmdebug > ).
When a CM breakpoint is set at a CM address of a segment that has been translated,
Debug actually sets two breakpoints simultaneously:
1. A CM breakpoint at the specified CM address in the emulated object code, in case the
code runs emulated.
2. An NM breakpoint at CMTONMNODE (CM address), that is, at the closest
corresponding previous node in the NM translated code.
For example, with the following command, the two breakpoints marked as [1] are set
simultaneously:
%cmdebug > B 12.4
Original CM Translated
Object Code Object Code
CM Instructions NM Instructions
Seg.Off Sid.Off
+-------------+ +-------------+
%12.0 N | PROC+%0 | $1c.34b0 N | PROC+%0 |
%12.1 | PROC+%1 | $1c.34b4 | |
%12.2 N | PROC+%2 | $1c.34b8 | |
%12.3 | PROC+%3 | $1c.34bc | |
%12.4 [1] | PROC+%4 | $1c.34c0 [1] N | PROC+%2 |
%12.5 | PROC+%5 | $1c.34c4 | |
%12.7 N | PROC+%6 | $1c.34c8 | |
%12.10 | PROC+%7 | $1c.34cc | |
%12.11 [2] | PROC+%10 | $1c.34d0 | |
%12.12 | PROC+%11 | $1c.34d4 [2] N | PROC+%6 |
%12.13 [3] | PROC+%12 | $1c.34d8 | |
%12.14 N | PROC+%13 | $1c.34dc | |
%12.15 | PROC+%14 | $1c.34e0 | |
%12.16 | PROC+%15 | $1c.34e4 N | PROC+%13 |
+-------------+ +-------------+
Note that multiple CM address breakpoints may map to the same NM previous node
breakpoint. For example:
%cmdebug > B PROC+10
brkpt # 2 maps to NM $1c.34d4
%cmdebug > BPROC+12
brkpt # 3 maps to NM $1c.34d4 also
Only one NM breakpoint is needed at $1c.34d4.