HPlogo System Debug Reference Manual > Chapter 10 System Debug Standard Functions

func cmaddr

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Converts a CM procedure name (or primary/secondary entry point) to a CM logical code address.

Syntax



   cmaddr (procname [lib])

The CMADDR function is especially useful for locating CM procedures when the current mode is NM, since procedure name lookups are based on the current mode. CMADDR explicitly requests a CM procedure name lookup.

Compatibility Mode code may be emulated, or translated into NM. This function always returns addresses based on emulated CM object code.

Another function (CMTONMNODE) can be used to locate the nearest corresponding NM node point address if the CM object code has been translated into NM.

Refer to Appendix C for discussion of CM Object Code Translation, node points, and breakpoints in translated CM mode.

Formal Declaration



   cmaddr:lcptr (procname:str [lib:str=''])

Parameters


procname

The CM procedure name to be located and converted to a CM logical code address. Primary and secondary entry points can be located by preceding the procedure name with a question mark.

lib

An optional string which indicates where the search for the named procedure should begin. By default, the program and then all currently loaded libraries will be searched.

PROG

Search the program file

GRP

Search the group library

PUB

Search the account library

LGRP

Search the logon group library

LPUB

Search the logon account library

SYS

Search the system library

Examples



   $nmdebug > wl cmaddr( "my'lib'proc" "pub")
   PUB $2.124

Look up the start address of my'lib'proc in the CM group library.

   $nmdebug > wl cmaddr( "?fopen" ):"%.o"
   SYS %22.5000

Look up the entry point address of fopen and display the address in octal.

Limitations, Restrictions


none




func civar


func cmbpaddr