instrucción srliq (Shift Right Long Immediate con 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 el resultado en otro registro de propósito general.
Nota: La instrucción srliq solo está soportada en la arquitectura de la familia POWER ®.
Sintaxis
| Bits | VALOR |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RS |
| 11 - 15 | RA |
| 16 - 20 | SH |
| 21 - 30 | 760 |
| 31 | RC |
Descripción
La instrucción srliq rota el contenido del registro de propósito general (GPR) de origen RS a la izquierda en 32 bits menos N , donde N es la cantidad de desplazamiento especificada por SH, fusiona el resultado con el contenido del registro de MQ bajo el control de una máscara generada y almacena la palabra rotada en el MQ Registro y el resultado fusionado en GPR RA. La máscara consta de N ceros seguidos de 32 menos N unos.
La instrucción srliq tiene dos formatos de sintaxis. Cada formulario de sintaxis tiene un efecto diferente en el campo de registro de condición 0.
| Elemento | Descripción | |||
|---|---|---|---|---|
| Formulario de sintaxis | Desbordamiento Excepción (OE) | Punto fijo Registro de excepciones | Registro Bit (Rc) | Condición Campo de registro 0 |
| srliq | Ninguna | Ninguna | 0 | Ninguna |
| srliq. | Ninguna | Ninguna | 1 | LT,GT, EQ, SO |
Las dos formas de sintaxis de la instrucción srliq nunca afectan al registro de excepciones 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 |
|---|---|
| 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. |
| SH | Especifica el valor para la cantidad de turno. |
Ejemplos
- El código siguiente rota el contenido del GPR 4 a la izquierda en 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 el GPR 6:
# Assume GPR 4 contains 0x9000 300F. # Assume the MQ Register contains 0x1111 1111. srliq 6,4,0x4 # GPR 6 now contains 0x1900 0300. # The MQ Register now contains 0xF900 0300. - El código siguiente rota el contenido del GPR 4 a la izquierda en 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 el GPR 6, y establece el campo de registro de condición 0 para reflejar el resultado de la operación:
# Assume GPR 4 contains 0xB004 3000 # Assume the MQ Register contains 0xFFFF FFFF. srliq. 6,4,0x4 # GPR 6 now contains 0xFB00 4300. # The MQ Register contains 0x0B00 4300. # Condition Register Field 0 now contains 0x8.