sleq (Shift Left Extended com MQ) instrução
Propósito
Rotaciona o conteúdo de um registro de uso geral à esquerda por um número especificado de bits, mescla o resultado com o conteúdo do Registro MQ sob controle de uma máscara, e coloca a palavra girada no Registro MQ e o resultado mascarado em outro registro de propósito geral.
Nota: A instrução sleq é suportada apenas na arquitetura da família POWER ®.
Sintaxe
| Bits | Valor |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | OS |
| 11 - 15 | RA |
| 16 - 20 | RB |
| 21 - 30 | 217 |
| 31 | Rc |
Descrição
A instrução sleq rotaciona o conteúdo do registro de uso geral de origem (GPR) RS deixou N bits, onde N é o valor do turno especificado em bits 27-31 do GPR RB. A instrução mescla a palavra girada com o conteúdo do MQ Register sob controle de uma máscara, e armazena a palavra girada na palavra Registrar e mesclada do MQ em GPR RA. A máscara consiste em 32 menos N os seguidos por N zeros.
A instrução sleq tem duas formas de sintaxe. Cada formulário de sintaxe tem um efeito diferente no Condição Register Field 0.
| Item | Descrição | |||
|---|---|---|---|---|
| Formulário de Sintaxe | Overflow Exceção (OE) | Fixed-Point Exceção Register | Registro Bit (Rc) | Condição Registrar Campo 0 |
| sleq | Nenhum | Nenhum | 0 | Nenhum |
| sleq. | Nenhum | Nenhum | 1 | LT,GT, EQ, SO |
As duas formas de sintaxe da instrução sleq nunca afetam o Registro de Exceção Fixo-Point. Se o formulário de sintaxe configurar o bit de Registro (Rc) para 1, a instrução afeta os bits Menos Than (LT) zero, Greater Than (GT) zero, Igual To (EQ) zero e Sumo Overflow (SO) bits no Campo de Registro de Condição 0.
Parâmetros
| Item | Descrição |
|---|---|
| RA | Especifica registro de propósito geral de destino onde o resultado da operação é armazenado. |
| OS | Especifica registro de uso geral de origem para operação. |
| RB | Especifica registro de uso geral de origem para operação. |
Exemplos
- O código a seguir rotaciona o conteúdo de GPR 4 à esquerda por 4 bits, mescla os dados rotatados com o conteúdo do MQ Register sob uma máscara gerada, e coloca a palavra rotada no Registro MQ e o resultado no GPR 6:
# Assume GPR 4 contains 0x9000 3000. # Assume GPR 5 contains 0x0000 0004. # Assume the MQ Register contains 0xFFFF FFFF. sleq 6,4,5 # GPR 6 now contains 0x0003 000F. # The MQ Register now contains 0x0003 0009. - O código a seguir rotaciona o conteúdo de GPR 4 à esquerda por 4 bits, mescla os dados girados com o conteúdo do Registro MQ sob uma máscara gerada, coloca a palavra girada no Registro de MQ e o resultado no GPR 6 e configura Campo de Registro de Condição 0 para refletir o resultado da operação:
# Assume GPR 4 contains 0xB004 3000. # Assume GPR 5 contains 0x0000 0004. # Assume the MQ Register contains 0xFFFF FFFF. sleq. 6,4,5 # GPR 6 now contains 0x0043 000F. # The MQ Register now contains 0x0043 000B. # Condition Register Field 0 now contains 0x4.