Section courante

A propos

Section administrative du site

Assembleur SuperH

DMULU.L

SuperH Double-Length Multiply as Unsigned

Syntaxe

DMULU.L Rm, Rn

Description

Cette instruction permet d'effectuer un traitement de multiplication naturel (non-signé) de contenu d'un registre général avec un autre registre général et entrepose le résultat 64 bits dans les registres MACL et MACH.

Algorithme

MODULE DMULU(m,n) * DMULU.L Rm,Rn
   RnL ← R[n] ∩ 0000FFFFh
   RnH ← (R[n] >> 16) ∩ 0000FFFFh
   RmL ← R[m] ∩ 0000FFFFh
   RmH ← (R[m] >> 16) ∩ 0000FFFFh
   temp0 ← RmL x RnL
   temp1 ← RmH x RnL
   temp2 ← RmL x RnH
   temp3 ← RmH x RnH
   Res2 ← 0
   Res1 ← temp1 + temp2
   SI Res1 < temp1 ALORS
      Res2 ← Res2 + 00010000h
   FIN SI
   temp1 ← (Res1 << 16) ∩ 0FFFF0000h
   Res0 ← temp0 + temp1
   SI Res0 < temp0 ALORS
      Res2 ← Res2 + 1
   FIN SI
   Res2 ← Res2 + ((Res1 >> 16) ∩ 0000FFFFh) + temp3
   MACH ← Res2
   MACL ← Res0
   PC ← PC + 2

Mnémonique

Instruction Abstrait Opcode Cycle
DMULU.L Rm, Rn Sans signe, MACH, MACL ← Rn × Rm 0011nnnnmmmm0101 2 à 4


Dernière mise à jour : Mardi, le 28 juillet 2015