Instruction sre (Shift Right Extended)
Objectif
Déplace le contenu d'un registre à des fins générales à droite par un nombre spécifié de bits et place une copie des données pivotées dans le registre MQ et le résultat dans un registre à des fins générales.
Remarque: The Sre 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 | 665 |
| 31 | Rc |
Description
L'instruction Sre fait pivoter le contenu du registre des fins 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, et stocke le mot rotation dans le registre MQ et la logique AND du mot rotation et un masque généré dans GPR RA. Le masque est constitué de zéros N suivis de 32 moins N .
L'instruction Sre 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 |
| Sre | Néant | Néant | 0 | Néant |
| Sre. | Néant | Néant | 1 | LT,GT, EQ, SO |
Les deux formes de syntaxe de l'instruction Sre 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 20 bits, place une copie des données pivotées dans le registre MQ , et place le résultat de l'ANDing des données à rotation avec un masque dans GPR 6:
# Assume GPR 4 contains 0x9000 3000. # Assume GPR 5 contains 0x0000 000C. sre 6,4,5 # GPR 6 now contains 0x0009 0003. # The MQ Register now contains 0x0009 0003. - Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 17 bits, place une copie des données pivotées dans le registre MQ , place le résultat de l'ANDing des données à rotation avec un masque 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 0xB004 3000. # Assume GPR 5 contains 0x0000 000F. sre. 6,4,5 # GPR 6 now contains 0x0001 6008. # The MQ Register now contains 0x6001 6008. # Condition Register Field 0 now contains 0x4.