srliq (Shift Right Long Immediate avec MQ), instruction
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 généré et place le résultat dans un autre registre à usage général.
Remarque: l'instruction srliq 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 | shell d"application |
| 21 - 30 | 760 |
| 31 | Rc |
Description
L'instruction srliq fait pivoter le contenu du registre GPR (source general-purpose register) RS vers la gauche de 32 moins N bits, où N est la quantité de décalage spécifiée par SH, fusionne le résultat avec le contenu du registre MQ sous le contrôle d'un masque généré et stocke le mot faisant l'objet d'une rotation dans le registre MQ et le résultat fusionné dans GPR RA. Le masque se compose de N zéros suivis de 32 moins N uns.
L'instruction srliq 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 |
| srliq | Néant | Néant | 0 | Néant |
| srliq: | Néant | Néant | 1 | LT,GT, EQ, SO |
Les deux formes de syntaxe de l'instruction srliq 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. |
| shell d"application | Indique la valeur du montant de la période de travail. |
Exemples
- Le code suivant fait pivoter le contenu de GPR 4 vers la gauche de 28 bits, fusionne les données ayant fait l'objet d'une rotation avec le contenu du registre MQ sous un masque généré et place le mot ayant fait l'objet d'une rotation dans le registre MQ et le résultat dans 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. - Le code suivant fait pivoter le contenu de GPR 4 vers la gauche de 28 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 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.