Instrucción sreq (Shift Right Extended with MQ)
Finalidad
Rota el contenido de un registro de propósito general a la izquierda por un número especificado de bits, fusiona el resultado con el contenido del registro de MQ bajo el control de una máscara generada y coloca la palabra rotada en el registro de MQ y el resultado fusionado en otro registro de propósito general.
Nota: La instrucción sreq 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 | 729 |
| 31 | RC |
Descripción
La instrucción sreq 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, fusiona la palabra rotada con el contenido del registro de MQ bajo una máscara generada y almacena la palabra rotada en el registro de MQ y la palabra fusionada en GPR RA. La máscara consta de ceros N seguidos de 32 menos N .
La instrucción sreq 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 |
| sreq | Ninguna | Ninguna | 0 | Ninguna |
| sreq. | Ninguna | Ninguna | 1 | LT,GT, EQ, SO |
Los dos formatos de sintaxis de la instrucción sreq 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 código siguiente hace girar el contenido de GPR 4 a la izquierda por 28 bits, fusiona los datos rotados con el contenido del registro de MQ bajo una máscara generada y coloca la palabra rotada en el registro de MQ y el resultado en GPR 6:
# Assume GPR 4 contains 0x9000 300F. # Assume GPR 7 contains 0x0000 0004. # Assume the MQ Register contains 0xEFFF FFFF. sreq 6,4,7 # GPR 6 now contains 0xE900 0300. # The MQ Register now contains 0xF900 0300. - El código siguiente hace girar el contenido de GPR 4 a la izquierda por 28 bits, fusiona los datos rotados con el contenido del registro de MQ bajo una máscara generada, coloca la palabra rotada en el registro de MQ y el resultado 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 0xB00 300F. # Assume GPR 18 contains 0x0000 0004. # Assume the MQ Register contains 0xEFFF FFFF sreq. 6,4,18 # GPR 6 now contains 0xEB00 0300. # The MQ Register now contains 0xFB00 0300. # Condition Register Field 0 now contains 0x8.