Instruction sreq (Shift Right Extended with MQ)
Objectif
Fait pivoter le contenu d'un registre à des fins générales à gauche par un nombre spécifié de bits, fusionne le résultat avec le contenu du registre MQ sous le contrôle d'un masque généré, et place le mot rotation dans le registre MQ et le résultat fusionné dans un autre registre à des fins générales.
Remarque: The Sreq instruction is supported only in the POWER® family architecture.
Syntaxe
| Bits | Valeur |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | lecture stable |
| 11 - 15 | RA |
| 16 - 20 | RB |
| 21 - 30 | 729 |
| 31 | Rc |
Description
L'instruction Sreq fait pivoter le contenu du registre de fonctions générales source (GPR) R vers la gauche par 32 moins N bits, où N correspond à la quantité de décalage spécifiée dans les bits 27-31 de GPR RB, fusionne le mot rotation avec le contenu du registre MQ sous un masque généré, et stocke le mot rotation dans le registre MQ et le mot fusionné dans GPR RA. Le masque est constitué de zéros N suivis de 32 moins N .
L'instruction Sreq comporte deux formes de syntaxe. Chaque formulaire de syntaxe a un effet différent sur la zone de registre de conditions 0.
| Article | Descriptif | |||
|---|---|---|---|---|
| Formulaire de syntaxe | Dépassen Exception (OE) | Point fixe Registre des exceptions | Enregistrement Bit (Rc) | Condition Zone de registre 0 |
| Sreq | Néant | Néant | 0 | Néant |
| Sreq. | Néant | Néant | 1 | LT,GT, EQ, SO |
Les deux formes de syntaxe de l'instruction Sreq n'affectent jamais le registre des exceptions à point fixe. Si le formulaire de syntaxe définit le bit d'enregistrement (Rc) à 1, l'instruction affecte les bits Inférieur à (LT) zéro, Supérieur à (GT) zéro, égal à zéro (EQ) et Bits de dépassement de récapitulatif (SO) dans la zone du registre de conditions 0.
Paramètres
| Article | Descriptif |
|---|---|
| RA | Indique le registre général cible dans lequel le résultat de l'opération est stocké. |
| lecture stable | Indique le registre d'utilisation générale source pour l'opération. |
| RB | Indique le registre d'utilisation générale source pour l'opération. |
Exemples
- Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 28 bits, fusionne les données avec le contenu du registre MQ sous un masque généré et place le mot rotation dans le registre MQ et le résultat dans 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. - Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 28 bits, fusionne les données à rotation avec le contenu du registre MQ sous un masque généré, place le mot rotation dans le registre MQ et le résultat dans GPR 6, et définit la zone Registre de condition 0 pour refléter le résultat de l'opération:
# 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.