instruction divwu (Divide Word Unsigned)

Objectif

Divise le contenu d'un registre à usage général par le contenu d'un autre registre à usage général et stocke le résultat dans un troisième registre à usage général.

Remarque: L'instruction divwu est prise en charge uniquement dans l'architecture PowerPC® .

Syntaxe

Bits Valeur
0-5 31
6 à 10 RT
11-15 AR
16-20 RB
21 expérience opérationnelle
22-30 459
31 RC
PowerPC® 
divwu RT, RA, RB
divwu: RT, RA, RB
divwuo RT, RA, RB
divwuo: RT, RA, RB

Description

L'instruction divwu divise le contenu du registre GPR (General-purpose register) RA par le contenu de GPR RBet stocke le résultat dans le registre GPR cible RT. Le dividende, le diviseur et le quotient sont interprétés comme des entiers non signés.

Dans le cas d'une division par 0, le contenu de GPR RT n'est pas défini.

Remarque: Bien que l'opération traite le résultat comme un entier non signé, si Rc est 1, les bits Inférieur à (LT) zéro, Supérieur à (GT) zéro et Egal à (EQ) zéro de la zone de registre de condition 0 sont définis comme si le résultat était interprété comme un entier signé.

L'instruction divwu a quatre formes de syntaxe. Chaque forme de syntaxe a un effet différent sur la zone de registre de condition 0 et le registre d'exception de point fixe.

Article Descriptif
Formulaire de syntaxe Dépassement Exception (OE) Fixed-Point Registre des exceptions Record Bit (Rc) Condition Enregistrer la zone 0
divwu 0 Néant 0 Néant
divwu: 0 Néant 1 LT,GT, EQ, SO
divwuo 1 SO, OV, 0 Néant
divwuo: 1 SO, OV 1 LT,GT, EQ, SO

Les quatre formes de syntaxe de l'instruction divwu n'affectent jamais le bit de report (CA) dans le registre des exceptions à point fixe. Si le format de syntaxe définit le bit OE (Overflow Exception) sur 1, l'instruction affecte les bits SO (Summary Overflow) et OV (Overflow) dans 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
RT Indique le registre à usage général cible dans lequel le résultat de l'opération est stocké.
RA Indique le registre à usage général source pour le calcul EA.
RB Indique le registre à usage général source pour le calcul EA.

Exemples

  1. Le code suivant divise le contenu de GPR 4 par le contenu de GPR 6 et stocke le résultat dans GPR 4:
    
    # Assume GPR 4 contains 0x0000 0000.
    # Assume GPR 6 contains 0x0000 0002.
    divwu 4,4,6
    # GPR 4 now contains 0x0000 0000.
    
  2. Le code suivant divise le contenu de GPR 4 par le contenu de GPR 6, stocke le résultat dans GPR 4 et définit la zone de registre de condition 0 pour refléter le résultat de l'opération:
    
    # Assume GPR 4 contains 0x0000 0002.
    # Assume GPR 6 contains 0x0000 0002.
    divwu. 4,4,6
    # GPR 4 now contains 0x0000 0001.
    
  3. Le code suivant divise le contenu de GPR 4 par le contenu de GPR 6, place le résultat dans GPR 4 et définit les bits de dépassement et de dépassement de récapitulatif dans le registre des exceptions de point fixe pour refléter le résultat de l'opération:
    
    # Assume GPR 4 contains 0x0000 0001.
    # Assume GPR 6 contains 0x0000 0000.
    divwuo 4,4,6
    # GPR 4 now contains an undefined quantity.
    
  4. Le code suivant divise le contenu de GPR 4 par le contenu de GPR 6, place le résultat dans GPR 4 et définit les bits de dépassement et de dépassement récapitulatifs dans la zone 0 du registre des exceptions de point fixe et du registre des conditions pour refléter le résultat de l'opération:
    
    # Assume GPR 4 contains 0x8000 0000.
    # Assume GPR 6 contains 0x0000 0002.
    divwuo. 4,4,6
    # GPR 4 now contains 0x4000 0000.