MACHI

Multiply-Accumulate the high-order word

MACHI

Multiply-ACcumulate HIgh-order word


[Syntax]

MACHI 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 = ACC + (tmp3 << 16);

 

[Function]

-

This instruction multiplies the higher-order 16 bits of src by the higher-order 16 bits of src2, and adds the result to the value in the accumulator (ACC). The addition is performed with the least significant bit of the result of multiplication corresponding to bit 16 of ACC. The result of addition is stored in ACC. 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)

MACHI src, src2

Rs

Rs2

3

[Flag Change]

-

This instruction does not affect the states of flags.

 

[Description Example]

MACHI R1, R2