instruction sleq (Shift Left Extended with MQ)
Objectif
Fait pivoter le contenu d'un registre à usage général vers la gauche d'un nombre spécifié de bits, fusionne le résultat avec le contenu du registre MQ sous le contrôle d'un masque et place le mot faisant l'objet d'une rotation dans le registre MQ et le résultat masqué dans un autre registre à usage général.
Remarque: l'instruction sleq est prise en charge uniquement dans l'architecture de la famille POWER ®.
Syntaxe
| Bits | Valeur |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | lecture stable |
| 11 - 15 | AR |
| 16 - 20 | RB |
| 21 - 30 | 217 |
| 31 | Rc |
Description
L'instruction sleq fait pivoter le contenu du registre à usage général source (GPR) RS gauche N bits, où N est le décalage spécifié dans les bits 27 à 31 de GPR RB. L'instruction fusionne le mot après rotation avec le contenu du registre MQ sous le contrôle d'un masque et stocke le mot après rotation dans le registre MQ et le mot fusionné dans GPR RA. Le masque se compose de 32 moins N uns suivis de N zéros.
L'instruction sleq a deux formes de syntaxe. Chaque forme de syntaxe a un effet différent sur la zone de registre de condition 0.
| Article | Descriptif | |||
|---|---|---|---|---|
| Formulaire de syntaxe | Dépassement Exception (OE) | Fixed-Point Registre des exceptions | Enregistrer Bit (Rc) | Condition Enregistrer la zone 0 |
| traîneau | Néant | Néant | 0 | Néant |
| sleq: | Néant | Néant | 1 | LT,GT, EQ, SO |
Les deux formes de syntaxe de l'instruction sleq n'affectent jamais le registre des exceptions de point fixe. Si la syntaxe définit le bit d'enregistrement (Rc) sur 1, l'instruction affecte les bits Inférieur à (LT) zéro, Supérieur à (GT) zéro, Egal à (EQ) zéro et Dépassement de récapitulatif (SO) dans la zone de registre de condition 0.
Paramètres
| Article | Descriptif |
|---|---|
| RA | Indique le registre à usage général cible dans lequel le résultat de l'opération est stocké. |
| lecture stable | Indique le registre générique source pour l'opération. |
| RB | Indique le registre générique source pour l'opération. |
Exemples
- Le code suivant fait pivoter le contenu de GPR 4 vers la gauche de 4 bits, fusionne les données faisant l'objet d'une rotation avec le contenu du registre MQ sous un masque généré et place le mot faisant l'objet d'une rotation dans le registre MQ et le résultat dans 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. - Le code suivant fait pivoter le contenu de GPR 4 vers la gauche de 4 bits, fusionne les données ayant fait l'objet d'une rotation avec le contenu du registre MQ sous un masque généré, place le mot faisant l'objet d'une rotation dans le registre MQ et le résultat dans GPR 6, et définit la zone de registre de condition 0 pour refléter le résultat de l'opération:
# 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.