


Since multiplication of two 32-bit numbers requires 64-bits, two 32-bit registers are required. When two 32-bit numbers are multiplied, the result requires a 64-bit space to store the results. As this illustrates, the results of a multiplication require up to twice as many digits as in the original numbers being multiplied. In base 10, 9x9=81 (2 one digit numbers yield a two digit number), and 99x99=9801 (2 two digit numbers yield a 4 digit number). To see this, consider multiplication in base 10. Multiplication is more complicated than addition because the result of a multiplication can require up to twice as many digits as the input values. These sections on multiplication and addition will look at the requirements of the multiplication and division operations that make them necessary. The hi and lo registers are not included in the 32 general purpose registers which have been used up to this point, and so are not directly under programmer control. Multiplication and division are more complicated than addition and subtraction, and require the use of two new, special purpose registers, the hi and lo registers.
