mulu
Unsigned multiply
Multiplies (unsigned) the value of the first operand by the second operand.
Size .w
Used in
- Arithmetic, logic and bitsM68K assembly
- bsr, rts, link and unlkM68K assembly
- trap #15 and its tasksM68K assembly
- Multiply and divide, with the remainderM68K assembly
- Stack arguments and a stack frameM68K assembly
- Recursion: factorial and FibonacciM68K assembly
- A jump tableM68K assembly
- A 2D arrayM68K assembly
- The snake gameM68K assembly
- Flappy birdM68K assembly
XNZVC –●●00
- ● set from the result
- 0 always 0
- – not changed
Forms
Operands
<ea>- An operand using one of the instruction’s supported addressing modes, such as
d0,(a0)+or4(a1). It may name a register, memory or an immediate value. More Dn- A data register,
d0tod7. More #imm- An immediate value written after
#: a number, character or label, such as#10,#$FFor#'a'. It must fit the operation’s size: byte-128to255, word-32768to65535, or long-2147483648to4294967295; signed and unsigned spellings are accepted. More
The result is stored in the second operand. The first operand is read as a word, the second as a long
move.l #2, d0
mulu #4, d0 ; d0 = 8
* --- Word operands, long result ---
move.l #$FFFF, d1
mulu #$FFFF, d1 ; d1 = $FFFE0001