System Debug Reference Manual (32650-90888)

Chapter 10 371
System Debug Standard Functions
func cmaddr
The first use of the function CIVAR defaults to NOEVALUATE, and as a result the value of one
is returned as !TWO.
In the second use of the function CIVAR, the
stropt
is explicitly specified as EVALUATE, and
so the MPE XL CI evaluates the value of one, which indirectly references the variable two,
and the final result of 2 is returned.
Limitations, Restrictions
none
func cmaddr
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