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