Multiplication, Division | |||||||||||||
Result of multiplying 2 32-bit numbers can be up to 64 bits | |||||||||||||
Instructions | Semantics | Type | |||||||||||
mult $rs, $rt |
|
(HI, LO) = R[s] * R[t] | signed | R | |||||||||
multu $rs, $rt | unsigned | R | |||||||||||
HI: high 32 bits | |||||||||||||
LO: low 32 bits | |||||||||||||
Note that $rd does not appear (set to 00000 in instruction) | |||||||||||||
Division | |||||||||||||
div $rs, $rt |
|
LO = R[s] / R[t] | signed | R | |||||||||
divu $rs, $rt | HI = R[s] % R[t] | unsigned | R | ||||||||||
LO: quotient | |||||||||||||
HI: remainder | |||||||||||||
To access HI, LO: | |||||||||||||
mfhi $rd | R[d] = HI | R | |||||||||||
mflo $rd | R[d] = LO | R | |||||||||||
Note that $rs, $rt both 00000 | |||||||||||||