|
|
Long to logical. Converts a long pointer into a NM logical
code pointer (LCPTR).
ltolog (longptr)
The SID of the long pointer (input parameter) is compared
with the SID of each of the loaded NM executable libraries for a
match. If a SID match is found, then the appropriate logical code
pointer is returned.
If the SID does not match any of the loaded NM files, then the long pointer is
tested to see if it points to a NM section of translated CM code produced by
the Object Code Translator (OCT). If the long pointer is found to be translated
code, then a special TRANS logical code pointer is returned.
Refer to appendix C for a discussion of CM object code translation, node
points, and breakpoints in translated CM code.
If both of the previous tests fail, then a special unknown
type (UNKN) is returned.
ltolog:lcptr (longptr:lptr)
- longptr
The long pointer to be converted into a NM logical code
pointer.
$nmdebug > wl ltolog (a.2034c)
SYS $a.2034
The SID $a matches the SID for the system library (SYS)
NL.PUB.SYS. The long pointer is converted into the logical
code pointer SYS a.2034.
$nmdebug > wl ltolog (3c.3208)
PROG $3c.3208
The SID $3c matches the SID of the program file.
$nmdebug > wl ltolog (20.10264)
TRANS $20.10264
The SID $20 does not match any of the loaded NM files. A final
test is applied, in case the virtual address is in translated CM
code. In this example, the address does point to a NM section of
translated CM object code (translated by the Object Code Translator).
$nmdebug > wl ltolog (123.45678)
UNKN $123.45678
The SID $123 does not match any of the loaded NM files and
does not point to translated code. The special unknown logical code
pointer is returned.
None
|