title: MIPS multu overflow
body: <p>As part of a hex to decimal program I'm writing in MIPS using QT spim I load the value of 16^7 (268435456) into a generic register. I then multiply this number by 1-15 depending on the character, add the result to a running total, and divide 16^7 by 16.</p>
  
  <p>However, I encounter what I assume to be overflow issues when multiplying 268435456. For instance, the code </p>
  
  <pre><code>    li $t0, 10
      li $t1, 268435456
      multu $t0, $t1
      mflo $t2
      li $v0, 10
      syscall 
  </code></pre>
  
  <p>Which is intended to multiply 268435456 by 10 and store the result in $t2 stores -1610612736 instead of 2684354560. Any ideas on how to fix this code to store the correct value?</p>