| 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 | |||||||||||||