6.79.1 Description
This instruction performs 8-bit × 8-bit → 16-bit multiplication of a signed and an unsigned number.
Rd | Rr | R1 | R0 | ||||
Multiplicand | Multiplier | → | Product High | Product Low | |||
8 | 8 | 16 |
The multiplicand Rd and the multiplier Rr are two registers. The multiplicand Rd is a signed number, and the multiplier Rr is unsigned. The 16-bit signed product is placed in R1 (high byte) and R0 (low byte).
This instruction is not available on all devices. Refer to Appendix A.
Operation: | |||
(i) |
R1:R0 ← Rd × Rr (signed ← signed × unsigned) | ||
Syntax: |
Operands: |
Program Counter: | |
(i) |
MULSU Rd,Rr |
16 ≤ d ≤ 23, 16 ≤ r ≤ 23 |
PC ← PC + 1 |
16-bit Opcode:
0000 | 0011 | 0ddd | 0rrr |