MULHI

Multiply the high-order word

MULHI

MULtiply HIgh-order word


[Syntax]

MULHI src, src2

 

[Operation]

signed short tmp1, tmp2;

signed long long tmp3;

tmp1 = (signed short) (src >> 16);

tmp2 = (signed short) (src2 >> 16);

tmp3 = (signed long) tmp1 * (signed long) tmp2;

ACC = (tmp3 << 16);

 

[Function]

-

This instruction multiplies the higher-order 16 bits of src by the higher-order 16 bits of src2, and stores the result in the accumulator (ACC). When the result is stored, the least significant bit of the result corresponds to bit 16 of ACC, and the section corresponding to bits 63 to 48 of ACC is sign-extended. Moreover, bits 15 to 0 of ACC are cleared to 0. The higher-order 16 bits of src and the higher-order 16 bits of src2 are treated as signed integers.

 

[Instruction Format]

Syntax

src

src2

Code size

(Byte)

MULHI src, src2

Rs

Rs2

3

[Flag Change]

-

This instruction does not affect the states of flags.

 

[Description Example]

MULHI R1, R2