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