title: How the lbu MIPS instruction works
body: <p>Quick question involving a problem on my review for class:</p>
  
  <p><code>lbu $R2, 24($R2)</code></p>
  
  <p>So the problem wants us to show the value of register $R2 after the above instruction is executed.</p>
  
  <p>Two things are given (all values are in decimal):</p>
  
  <p><code>$R2 = 12</code></p>
  
  <p>And the memory addresses:
  <code>36 = -18, 32 = 99, 28 = 177, 24 = -14</code></p>
  
  <p>I'm just a little lost on how exactly the <code>lbu</code> instruction works. I'm pretty sure that the instruction is going to load the right most byte based on the offset provided into $R2 and not sign extend it but what exactly does this mean? I have a few answers in mind, just not entirely sure. </p>
  
  <p>As well as how would this same instruction behave if the instruction was just <code>lb</code> vs <code>lbu</code></p>