title: MIPS Assembly Multiplication and Moving the Hi and Lo into Register
body: <p><code>mult</code> instruction can multiply two 32-bit integers which could give a 64-bit result. The higher significant 32 bits of the result (32 - 63) are saved in Hi and the lower bits (0 - 31) are saved in Lo. After the multiplication I can use <code>mfhi</code> and <code>mflo</code> to move the result to registers. But it is obviously not possible to write the 64-bit number into a 32-bit register. How can I store the result back into registers and use it? Should I save each part in a separate register and concatenate them?   </p>