System Debug Reference Manual (32650-90888)

542 AppendixC
Emulated/Translated CM Code
The Node Functions
The Node Functions
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