Instrucción add (Add) o cax (Compute Address)

Finalidad

Añade el contenido de dos registros de propósito general.

Sintaxis

PowerPC® 
Añadir RT, RA, RB
añadir. RT, RA, RB
addo RT, RA, RB
addo. RT, RA, RB
Familia POWER ® 
cax RT, RA, RB
cax. RT, RA, RB
caxo RT, RA, RB
caxo. RT, RA, RB
Bits VALOR
0 - 5 31
6 - 10 RT
11 - 15 RA
16 - 20 RB
21 OE
22 - 30 266
31 RC

Descripción

Las instrucciones add y cax colocan la suma del contenido del registro de uso general (GPR) RA y GPR RB en el GPR de destino RT.

Las instrucciones add y cax tienen cuatro formatos de sintaxis. Cada formulario de sintaxis tiene un efecto diferente en el campo de registro de condición 0 y en el registro de excepción de punto fijo.

Elemento Descripción
Formulario de sintaxis Excepción de desbordamiento (OE) Punto fijo Registro de excepciones Registro Bit (Rc) Campo de registro de condición 0
Añadir 0 Ninguna 0 Ninguna
añadir. 0 Ninguna 1 LT,GT, EQ, SO
addo 1 SO, OV 0 Ninguna
addo. 1 SO, OV 1 LT,GT, EQ, SO
cax 0 Ninguna 0 Ninguna
cax. 0 Ninguna 1 LT,GT, EQ, SO
caxo 1 SO, OV 0 Ninguna
caxo. 1 SO, OV 1 LT,GT, EQ, SO

Los cuatro formatos de sintaxis de la instrucción add y los cuatro formatos de sintaxis de la instrucción cax nunca afectan al bit de Carry (CA) en el registro de excepciones de punto fijo. Si el formulario de sintaxis establece el bit de excepción de desbordamiento (OE) en 1, la instrucción afecta a los bits de desbordamiento de resumen (SO) y desbordamiento (OV) en el registro de excepción de punto fijo. Si el formulario de sintaxis establece el bit Registro (Rc) en 1, la instrucción afecta a los bits Menor que (LT) cero, Mayor que (GT) cero, Igual a (EQ) cero y Desbordamiento de resumen (SO) en el Campo de registro de condición 0.

Parámetros

Elemento Descripción
RT Especifica el registro de propósito general de destino donde se almacena el resultado de la operación.
RA Especifica el registro de propósito general de origen para la operación.
RB Especifica el registro de propósito general de origen para la operación.

Ejemplos

  1. El código siguiente añade la dirección o el contenido del GPR 6 a la dirección o el contenido del GPR 3 y almacena el resultado en el GPR 4:
    
    # Assume GPR 6 contains 0x0004 0000.
    # Assume GPR 3 contains 0x0000 4000.
    add 4,6,3
    # GPR 4 now contains 0x0004 4000.
    
  2. El código siguiente añade la dirección o el contenido del GPR 6 a la dirección o el contenido del GPR 3, almacena el resultado en el GPR 4 y establece el campo de registro de condición 0 para reflejar el resultado de la operación:
    
    # Assume GPR 6 contains 0x8000 7000.
    # Assume GPR 3 contains 0x7000 8000.
     add. 4,6,3
    # GPR 4 now contains 0xF000 F000.
    
  3. El código siguiente añade la dirección o el contenido del GPR 6 a la dirección o el contenido del GPR 3, almacena el resultado en el GPR 4 y establece los bits Resumen de desbordamiento, Desbordamiento y Carry en el Registro de excepciones de punto fijo para reflejar el resultado de la operación:
    
    # Assume GPR 6 contains 0xEFFF FFFF.
    # Assume GPR 3 contains 0x8000 0000.
    addo 4,6,3
    # GPR 4 now contains 0x6FFF FFFF.
    
  4. El código siguiente añade la dirección o el contenido del GPR 6 a la dirección o el contenido del GPR 3, almacena el resultado en el GPR 4 y establece los bits Resumen de desbordamiento, Desbordamiento y Carry en el Registro de excepciones de punto fijo y Campo de registro de condición 0 para reflejar el resultado de la operación:
    
    # Assume GPR 6 contains 0xEFFF FFFF.
    # Assume GPR 3 contains 0xEFFF FFFF.
    addo. 4,6,3
    # GPR 4 now contains 0xDFFF FFFE.