Instruction srea (Shift Right Extended Algebraic)

Objectif

Fait pivoter le contenu d'un registre à des fins générales à gauche par un nombre spécifié de bits, place une copie des données pivotées dans le registre MQ , fusionne le mot rotation et un mot de 32 bits de signe à partir du registre à usage général sous le contrôle d'un masque, et place le résultat dans un autre registre à des fins générales.

Remarque: The Srea 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 921
31 Rc
Famille POWER 
Srea RA, R, RB
Srea. RA, R, RB

Description

L'instruction Srea 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, stocke le mot rotation dans le registre MQ , et fusionne le mot rotation et un mot de 32 bits de signe de GPR R sous le contrôle d'un masque généré. Un mot de 32 bits de signes est généré en prenant le bit de signe d'un registre à des fins générales et en le répéquant 32 fois pour en faire un mot complet. Ce mot peut être 0x0000 0000 ou 0xFFFF FFFF selon la valeur du registre général. Le masque est constitué de zéros N suivis de 32 moins N . Le mot fusionné est stocké dans GPR RA.

Cette instruction ANDs les données de rotation avec le complément du masque généré, les ORs ensemble le résultat 32 bits, et ANDs le bit obtenu avec bit 0 de GPR R pour produire le Carry bit (CA).

L'instruction Srea 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
Srea Néant CA 0 Néant
Srea Néant CA 1 LT,GT, EQ, SO

Les deux formes de syntaxe de l'instruction Srea affectent toujours le report (CA) dans le registre des exceptions de 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

  1. Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 28 bits, fusionne le résultat avec 32 bits de signature sous le contrôle d'un masque généré, place le mot rotation dans le registre MQ et le résultat dans GPR 6, et définit le bit de report dans le registre d'exception à point fixe pour refléter le résultat de l'opération:
    
    # Assume GPR 4 contains 0x9000 3000.
    # Assume GPR 7 contains 0x0000 0004.
    srea 6,4,7
    # GPR 6 now contains 0xF900 0300.
    # The MQ Register now contains 0x0900 0300.
    
  2. Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 28 bits, fusionne le résultat avec 32 bits de signe sous le contrôle d'un masque généré, place le mot rotation dans le registre MQ et le résultat dans GPR 6, et définit le Report dans le registre d'exception à point fixe et la zone du registre de condition 0 pour refléter le résultat de l'opération:
    
    # Assume GPR 4 contains 0xB004 3000.
    # Assume GPR 7 contains 0x0000 0004.
    srea. 6,4,7
    # GPR 6 now contains 0xFB00 4300.
    # The MQ Register now contains 0x0B00 4300.
    # Condition Register Field 0 now contains 0x8.