HPlogo System Debug Reference Manual > Appendix C Emulated/Translated CM Code

CM Breakpoints in Translated Code

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4
E0300 Edition 3 ♥
E0692 Edition 3

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.




The Node Functions


NM Breakpoints in Translated Code