解释符号交叉引用
hello.s 组合件程序的符号交叉引用示例。
以下是 hello.s 组合件程序的符号交叉引用示例:
Symbol File CSECT Line #
.main hello.s -- 22
.main hello.s .main 28 *
.main hello.s -- 29
.main hello.s .main 43 *
.printf hello.s -- 76
.printf hello.s -- 104
T.data hello.s data 17 *
T.data hello.s data 69
T.hello hello.s .main 28 *
TOC hello.s TOC 23
_helloworld hello.s -- 74
_helloworld hello.s data 113 *
argarea hello.s -- 35 *
argarea hello.s -- 40
data hello.s -- 17
data hello.s data 17 *
data hello.s data 111 *
linkarea hello.s -- 36 *
linkarea hello.s -- 40
locstckarea hello.s -- 37 *
locstckarea hello.s -- 40
main hello.s -- 18
main hello.s main 21 *
main hello.s main 28
nfprs hello.s -- 39 *
nfprs hello.s -- 40
nfprs hello.s -- 59
nfprs hello.s -- 90
ngprs hello.s -- 38 *
ngprs hello.s -- 40
ngprs hello.s -- 59
ngprs hello.s -- 90
szdsa hello.s -- 40 *
szdsa hello.s -- 64
szdsa hello.s -- 82
szdsa hello.s -- 88
第一列列出了出现在源程序中的符号名称。 第二列列出符号所在的源文件名。 第三列列出了在其中定义或定位符号的 csect 名称。
在列出 csect 名称的列中,––(双短划线) 表示下列其中一项:
- 尚未定义符号的 csect。 在示例中,第一个和第三个.main(.main[PR]) 通过第 42 行定义。
- 符号是外部符号。 在示例中,.printf是外部符号,因此不与任何 csect 关联。
- 要定义的符号是符号常量。 当使用 .set 伪操作来定义符号时,该符号是一个符号常量,并且没有与其关联的 csect。 在示例中,argarea,linkarea,locstckarea,nfprs,ngprs和szdsa是符号常量。
第四列列出符号所在的行号。 行号后的 * (星号) 指示在此行中定义了符号。 如果行号后没有星号,那么在行中引用符号。