instrucción sre (Shift Right Extended)
Finalidad
Desplaza el contenido de un registro de propósito general a la derecha por un número especificado de bits y coloca una copia de los datos rotados en el registro de MQ y el resultado en un registro de propósito general.
Nota: La instrucción sre sólo está soportada en la arquitectura de la familia POWER ®.
Sintaxis
| Bits | VALOR |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RS |
| 11 - 15 | RA |
| 16 - 20 | RB |
| 21 - 30 | 665 |
| 31 | RC |
Descripción
La instrucción sre rota el contenido del registro de propósito general de origen (GPR) RS a la izquierda por 32 bits menos N , donde N es la cantidad de turno especificada en bits 27-31 de GPR RB, y almacena la palabra rotada en el registro de MQ y la palabra lógica AND de la palabra rotada y una máscara generada en GPR RA. La máscara consta de ceros N seguidos de 32 menos N .
La instrucción sre tiene dos formas de sintaxis. Cada formulario de sintaxis tiene un efecto diferente en el campo 0 de registro de condición.
| Elemento | Descripción | |||
|---|---|---|---|---|
| Formulario de sintaxis | Desbordamiento Excepción (OE) | Punto fijo Registro de excepciones | Registro Bit (Rc) | Condición Registro de campo 0 |
| sre | Ninguna | Ninguna | 0 | Ninguna |
| sre. | Ninguna | Ninguna | 1 | LT,GT, EQ, SO |
Los dos formatos de sintaxis de la instrucción sre nunca afectan al Registro de excepciones de punto fijo. Si el formulario de sintaxis establece el bit de registro (Rc) en 1, la instrucción afecta a los bits Menos 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 |
|---|---|
| RA | Especifica el registro de propósito general de destino donde se almacena el resultado de la operación. |
| RS | 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
- El siguiente código hace girar el contenido de GPR 4 a la izquierda por 20 bits, coloca una copia de los datos rotados en el registro de MQ y coloca el resultado de ANDing los datos rotados con una máscara en GPR 6:
# Assume GPR 4 contains 0x9000 3000. # Assume GPR 5 contains 0x0000 000C. sre 6,4,5 # GPR 6 now contains 0x0009 0003. # The MQ Register now contains 0x0009 0003. - El código siguiente hace girar el contenido de GPR 4 a la izquierda por 17 bits, coloca una copia de los datos rotados en el registro de MQ , coloca el resultado de ANDing los datos rotados con una máscara en GPR 6 y establece el campo 0 de registro de condición para reflejar el resultado de la operación:
# Assume GPR 4 contains 0xB004 3000. # Assume GPR 5 contains 0x0000 000F. sre. 6,4,5 # GPR 6 now contains 0x0001 6008. # The MQ Register now contains 0x6001 6008. # Condition Register Field 0 now contains 0x4.