MUL

Multiplication

MUL

MULtiply


[Syntax]

(1)MUL src, dest

(2)MUL src, src2, dest

 

[Operation]

(1)dest = src * dest;

(2)dest = src * src2;

 

[Function]

-

(1)This instruction multiplies src and dest and places the result in dest.

-

The calculation is performed in 32 bits and the lower-order 32 bits of the result are placed.

-

The operation result will be the same whether a singed or unsigned multiply is executed.

-

(2)This instruction multiplies src and src2 and places the result in dest.

-

The calculation is performed in 32 bits and the lower-order 32 bits of the result are placed.

-

The operation result will be the same whether a singed or unsigned multiply is executed.

Note

The accumulator (ACC) is used to perform the function. The value of ACC after executing the instruction is undefined.

 

[Instruction Format]

Syntax

Processng Size

Operand

Code Size

(Byte)

src

src2

dest

(1)MUL src, dest

L

#UIMM:4

-

Rd

2

L

#SIMM:8

-

Rd

3

L

#SIMM:16

-

Rd

4

L

#SIMM:24

-

Rd

5

L

#IMM:32

-

Rd

6

L

Rs

-

Rd

2

L

[Rs].memex

-

Rd

2 (memex == UB)

3 (memex != UB)

L

dsp:8[Rs].memex

-

Rd

3 (memex == UB)

4 (memex != UB)

L

dsp:16[Rs].memex

-

Rd

4 (memex == UB)

5 (memex != UB)

L

Rs

Rs2

Rd

3

[Flag Change]

-

This instruction does not affect the states of flags.

 

[Description Example]

MUL #10, R2

MUL R1, R2

MUL [R1], R2

MUL 4[R1].W, R2

MUL R1, R2, R3