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

The Node Functions

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Four special functions (CMNODE, CMTONMNODE, NMNODE, NMTOCMNODE) are provided to locate the nearest "previous" and "next" nodes for translated code.

The following diagram shows CM object code loaded at %12.0 with its corresponding NM translated code loaded at $1c.34b0. Node points are flagged with an "N".

           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      | PROC+%4     |     +-->    $1c.34c0      N | PROC+%2     |
%12.5      | PROC+%5     |             $1c.34c4        |             |
%12.7    N | PROC+%6     |  <--+       $1c.34c8        |             |
%12.10     | PROC+%7     |     |       $1c.34cc        |             |
%12.11     | PROC+%10    |     |       $1c.34d0        |             |
%12.12     | PROC+%11    |     +---    $1c.34d4      N | PROC+%6     |
%12.13     | 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    |
%12.17     | PROC+%16    |             $1c.34e8        |             |
           +-------------+             $1c.34ec        |             |
                                       $1c.34f0        |             |
                                       $1c.34f4        |             |
                                       $1c.34f8        |             |
                                       $1c.34fc        |             |
                                       $1c.3500        +-------------+


CMNODE(%12.4)            = %12.2      NMNODE($1c.34dc)          = $1c.34d4
CMNODE(%12.4,"prev")     = %12.2      NMNODE($1c.34dc,"prev")   = $1c.34d4
CMNODE(%12.4,"next")     = %12.7      NMNODE($1c.34dc,"next")   = $1c.34e4

CMTONMNODE(%12.4)        = $1c.34c0   NMTOCMNODE($1c.34dc)        = %12.7
CMTONMNODE(%12.4,"prev") = $1c.34c0   NMTOCMNODE($1c.34dc,"prev") = %12.7
CMTONMNODE(%12.4,"next") = $1c.34d4   NMTOCMNODE($1c.34dc,"next") = %12.14




Executing a Translated Section


CM Breakpoints in Translated Code