Crossware

Table of Contents        Previous topic       Next topic       

MICROPROCESSOR INSTRUCTION REFERENCE->MULS

MULS           Signed Multiply

Compatibility: 68000, 68010, 68020 and CPU32 families.

Destination x Source -> Destination


Assembler Syntax:MULS.W <ea>,Dn16 x 16 -> 32
1 MULS.L <ea>,Dl 32 x 32 -> 32
1 MULS.L <ea>,Dh:Dl32 x 32 -> 64
1   68020 and CPU32 only

<ea> - data

Size:  Word, Long

Multiplies two signed operands yielding a signed results.  In the word form, the multiplier and multiplicand are both word operands, and the result is a long-word operand.  A register operand is the low-order word; the upper word of the register is ignored.  All 32 bits of the product are saved in the destination data register.  

In the long form, the multiplier and multiplicand are both long-word operands, and the result is either a long word or a quad word.  The long-word result is the low-order 32 bits of the quad word result; the high-order 32 bits of the products are discarded.


Condition Codes:

N    Set if result negative, else cleared
Z    Set if result zero, else cleared
V    Set if overflow, else cleared
C    Always cleared
X    Not affected

    
Allowable Addressing Modes
    
<ea>,Dn (or Dl)<ea>,Dh:Dl
    
MULSDn,DnMULSDn,Dh:Dl
MULS(An),DnMULS(An),Dh:Dl
MULS(An)+,DnMULS(An)+,Dh:Dl
MULS-(An),DnMULS-(An),Dh:Dl
MULS(d16,An),DnMULS(d16,An),Dh:Dl
MULS(d8,An,Xn),DnMULS(d8,An,Xn),Dh:Dl
MULS(bd,An,Xn),Dn 2MULS(bd,An,Xn),Dh:Dl 2
MULS([bd,An,Xn],od),Dn 1MULS([bd,An,Xn],od),Dh:Dl 1
MULS([bd,An],Xn,od),Dn 1MULS([bd,An],Xn,od),Dh:Dl 1
MULS(xxx).W,DnMULS(xxx).W,Dh:Dl
MULS(xxx).L,DnMULS(xxx).L,Dh:Dl
MULS#(data),DnMULS#(data),Dh:Dl
MULS(d16,PC),DnMULS(d16,PC),Dh:Dl
MULS(d8,PC,Xn),DnMULS(d8,PC,Xn),Dh:Dl
MULS(bd,PC,Xn),Dn 2MULS(bd,PC,Xn),Dh:Dl 2
MULS([bd,PC,Xn],od),Dn 1MULS([bd,PC,Xn],od),Dh:Dl 1
MULS([bd,PC],Xn,od),Dn 1MULS([bd,PC],Xn,od),Dh:Dl 1
1   68020 only
2   68020 and CPU32 only