.tc pseudo-op

Finalidad

Ensambla expresiones en una entrada de tabla de contenido (TOC).

Sintaxis

Elemento Descripción
.tc [Nombre][TC], Expresión[, Expresión, ...]
Nota: Los corchetes en negrita que contienen TC forman parte de la sintaxis y no especifican parámetros opcionales.

Descripción

La pseudo-operación .tc ensambla Expresiones en una entrada TOC, que contiene la dirección de una rutina, la dirección de un descriptor de función o la dirección de una variable externa. Una sentencia .tc sólo puede aparecer dentro del ámbito de una pseudo-op .toc . Una entrada de TOC se puede reubicar como un cuerpo. Las sentencias de entrada de TOC pueden tener etiquetas locales, que serán relativas al principio de toda la TOC según lo declarado por la primera sentencia .toc . Se puede acceder a las direcciones contenidas en la entrada de TOC utilizando estas etiquetas locales y el Registro de TOC GPR 2.

Las entradas de TOC que contienen sólo una dirección están sujetas a la combinación del enlazador. Esto puede ocurrir si las entradas TOC tienen el mismo nombre y hacen referencia a la misma sección de control (csect) (símbolo). Tenga cuidado al codificar entradas de TOC que hagan referencia a desplazamientos distintos de cero dentro de una csect. Para evitar la combinación no deseada de entradas de TOC, deben asignarse nombres exclusivos a las entradas de TOC que hagan referencia a diferentes desplazamientos dentro de una csect.

Parámetros

Elemento Descripción
Nombre Especifica el nombre de la entrada TOC creada. La StorageMappingClass es TC para las entidades TOC. Nombre[TC] se puede utilizar para hacer referencia a la entrada TOC cuando corresponda.
expresión Especifica el símbolo o expresión que entra en la entrada TOC.

Ejemplos

El ejemplo siguiente ilustra el uso de la pseudo-op .tc :

.toc
# Create three TOC entries, the first
# with the name proga, the second
# with the name progb, and the last
# unnamed.
T.proga:        .tc proga[TC],progr[RW],dataA
T.progb:        .tc progb[TC],proga[PR],progb[PR]
T.progax:       .tc  proga[TC],dataB
                .tc       [TC],dataB
                .csect proga[PR]
# A .csect should precede any statements following a
# .toc/.tc section which do not belong in the TOC.
                l 5,T.proga(2)   # The address of progr[RW]
                                 # is loaded into GPR 5.
                l 5,T.progax(2)  # The address of progr[RW]
                                 # is loaded into GPR 5.
                l 5,T.progb+4(2) # The address of progb[PR]
                                 # is loaded into GPR 5.