|
|
Privileged Mode: TCA, TCS
Translates the specified CM address to a virtual address.
Syntax
TA offset ABS - Bank0
TD dst.off Data segment
TDB offset DB relative
TS offset S relative
TQ offset Q relative
TC cmlogaddr Program file
TCG cmlogaddr Group library
TCP cmlogaddr Account library
TCLG cmlogaddr Logon group library
TCLP cmlogaddr Logon account library
TCS cmlogaddr System library
TCA cmabsaddr Absolute CST
TCAX cmabsaddr Absolute CSTX
Parameters
- offset
TA, TDB, TQ, TS only. The CM word offset that specifies the
relative CM address to be translated.
- dseg.off
TC, TD only. The data segment and word offset to be
translated.
- cmlogaddr
TC, TCG, TCP, TCLG, TCLP, TCS only. A full logical code
address (LCPTR) specifies three necessary items:
The CM logical code file (PROG, GRP, SYS, and so on).
The CM logical segment number.
The CM word offset within the code segment.
Logical code addresses can be specified in various levels of detail:
As a full logical code pointer (LCPTR):
- TC procname+20
Procedure name lookups return LCPTRs.
- TC pw+4
Predefined ENV variables of type LCPTR.
- TC SYS(2.200)
Explicit coercion to a LCPTR type.
As a long pointer (LPTR):
- TC 23.2644
seg.offset
The logical file is determined based on the command suffix.
For example:
As a short pointer (SPTR):
- TC 1024
offset only
The currently executing logical segment number and the currently
executing logical file are used to build a LCPTR.
The search path used for procedure name lookups is based on the command
suffix letter:
- TC
Full search path:
CM: PROG, GRP, PUB, LGRP, LPUB, SYS.
- TCG
Search GRP, the group library.
- TCP
Search PUB, the account library.
- TCLG
Search LGRP, the logon group library.
- TCLP
Search LPUB, the logon account library.
- TCS
Search SYS, the system library.
- TCU
Search USER, the user library.
For a full description of logical code addresses, refer to the section
"Logical Code Addresses", in chapter 2.
- cmabsaddr
TCA, TCAX only. A full CM absolute code address specifies
three necessary items:
Either the CST or the CSTX.
The absolute code segment number.
The CM word offset within the code segment.
Absolute code addresses can be specified in two ways:
The search path used for procedure name lookups is based on the command
suffix letter:
- TCA
GRP, PUB, LGRP, LPUB, SYS
- TCAX
PROG
Examples
%cmdebug > td 1.100
% DST 1.100 VIRT $b.40011630
Translate data segment 1.100 to a virtual address.
%cmdebug > ta 2000
% ABS+2000 VIRT $a.80000800
Translate ABS+2000 to a virtual address.
$nmdebug > tcs %22.%5007
SYS % 22.5007 = CST % 23.5007 = VIRT $21.6ed0e
FOPEN+%13 (XLSEG11)
start: %4774 entry: %5000 proclen: %626 seglen: %31454
Translator Node Addresses:
CM prev: SYS %22.5006 NM prev: TRANS $21.6afd5c
CM next: SYS %22.5010 NM next: TRANS $21.6afd74
Translate CM logical address SYS %22.5007.
%cmdebug > tc fgetkeyinfo+1146
SYS % 32.2031 = CST % 33.2031 = VIRT $21.a4c32
FGETKEYINFO+%1146 (KSAMSEG1)
start: %663 entry: %702 proclen: %2145 seglen: %37204
Translator Node Addresses:
CM prev: SYS %32.2030 NM prev: TRANS $21.7da7a0
CM next: SYS %32.2034 NM next: TRANS $21.7da7c4
Translate CM logical address fgetkeyinfo+1146.
Refer to appendix C for a discussion of CM object code translation,
node points, and breakpoints in translated CM code.
Limitations, Restrictions
All information that is displayed in a TC (translate code) display can
be obtained programmatically, except for the CM segment length.
There is no way to obtain the virtual address of ABS relative
addresses programmatically.
|