|
|
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
|