Instruction slq (Shift Left with MQ)

Objectif

Fait pivoter le contenu d'un registre à des fins générales à gauche par le nombre de bits spécifiés dans un registre à usage général, place le mot rotation dans le registre MQ , et place la logique AND du mot rotation et un masque généré dans un troisième registre à des fins générales.

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

Description

L'instruction Slq fait pivoter le contenu du registre de fonctions générales source (GPR) R vers la gauche par N bits, où N correspond au volume de décalage spécifié dans les bits 27-31 de GPR RB, et stocke le mot rotation dans le registre MQ . Le masque dépend du bit 26 de GPR RB.

Tenez compte des éléments suivants lors de l'utilisation de l'instruction Slq :

  • Si le bit 26 de GPR RB est égal à 0, un masque de 32 moins N suivi de N zéros est généré.
  • Si le bit 26 de GPR RB est 1, un masque de tous les zéros est généré.

Cette instruction stocke ensuite la logique AND du mot rotation et le masque généré dans GPR RA.

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

Les deux formes de syntaxe de l'instruction Slq 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

  1. Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 4 bits, place le mot rotation dans le registre MQ , et place la logique AND du mot rotation et le masque généré dans GPR 6:
    
    # Assume GPR 4 contains 0x9000 3000.
    # Assume GPR 5 contains 0x0000 0024.
    slq 6,4,5
    # GPR 6 now contains 0x0000 0000.
    # The MQ Register now contains 0x0003 0009.
    
  2. Le code suivant fait pivoter le contenu de GPR 4 vers la gauche par 4 bits, place le mot rotation dans le registre MQ , place la logique AND du mot rotation et le masque généré 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 0004.
    slq. 6,4,5
    # GPR 6 now contains 0x0043 0000.
    # The MQ Register now contains 0x0043 000B.
    # Condition Register Field 0 now contains 0x4.