6.77.1 Description

This instruction performs 8-bit × 8-bit → 16-bit unsigned multiplication.

RdRrR1R0
Multiplicand×MultiplierProduct HighProduct Low
8816

The multiplicand Rd and the multiplier Rr are two registers containing unsigned numbers. The 16-bit unsigned product is placed in R1 (high byte) and R0 (low byte). Note that if the multiplicand or the multiplier is selected from R0 or R1, the result will overwrite those after multiplication.

This instruction is not available on all devices. Refer to Appendix A.

Operation:

(i)

R1:R0 ← Rd × Rr (unsigned ← unsigned × unsigned)

Syntax:

Operands:

Program Counter:

(i)

MUL Rd,Rr

0 ≤ d ≤ 31, 0 ≤ r ≤ 31

PC ← PC + 1

16-bit Opcode:

100111rdddddrrrr