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

Debugging Emulated CM Code

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4
E0300 Edition 3 ♥
E0692 Edition 3

Debugging emulated CM code is relatively straightforward. Since each CM instruction is fetched and emulated, it is necessary to know only where you wish to set a breakpoint.

For emulated CM code you can break at any instruction:

   $ cmdebug > B PROC+%6
   $ cmdebug > B PROC+%10
   $ cmdebug > B PROC+%15

The debugger places a special BRKP instruction at the specified addresses. When an emulated breakpoint is encountered, the emulator traps it into Debug before the original instruction is emulated. The environment variable entry_mode is set to "cm", and the user enters CMDebug.

           CM Object Code

           CM Instructions

           +-------------+
           | PROC+%0     |
           | PROC+%1     |
           | PROC+%2     |
           | PROC+%3     |
   P  >    | PROC+%4     |
           | PROC+%5     |
       [1] | PROC+%6     |  <- Breakpoints are set in the object code
           | PROC+%7     |     at the specified addresses
       [2] | PROC+%10    |
           | PROC+%11    |
           | PROC+%12    |
           | PROC+%13    |
           | PROC+%14    |
       [3] | PROC+%15    |
           | PROC+%16    |
           +-------------+




Appendix C Emulated/Translated CM Code


Object Code Translation