Interprétation d'une référence croisée de symbole

Exemple de référence croisée de symbole pour le programme d'assemblage hello.s .

Voici un exemple de référence croisée de symbole pour le programme d'assemblage 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

La première colonne répertorie les noms de symbole qui apparaissent dans le programme source. La deuxième colonne indique le nom du fichier source dans lequel se trouvent les symboles. La troisième colonne répertorie les noms de csect dans lesquels les symboles sont définis ou localisés.

Dans la colonne répertoriant les noms de csect, un––(double tiret) s'entend de l'un des éléments suivants:

  • Le csect du symbole n'a pas encore été défini. Dans l'exemple, les premier et troisième.main(.main[PR]) est défini par la ligne 42.
  • Le symbole est un symbole externe. Dans l'exemple,.printfest un symbole externe et, par conséquent, n'est associé à aucun csect.
  • Le symbole à définir est une constante symbolique. Lorsque la pseudo-op .set est utilisée pour définir un symbole, le symbole est une constante symbolique et n'est pas associé à une csect. Dans l'exemple,argarea,linkarea,locstckarea,nfprs,ngprsetszdsasont des constantes symboliques.

La quatrième colonne indique le numéro de ligne dans lequel se trouve le symbole. Un astérisque (*) après le numéro de ligne indique que le symbole est défini sur cette ligne. S'il n'y a pas d'astérisque après le numéro de ligne, le symbole est référencé dans la ligne.