title: MIPS Programming: Load Address
body: <h3>The Background</h3>
  <p>I am a student just beginning to learn MIPS for one of my courses, and my professor is not allowing the usage of pseudo-instructions such as Load Address (<code>la</code>) in our code.  I am wondering what an example of the correct usage of standard instructions would look like to store the address of a declared variable into a register for use later in the code.</p>
  <h3>My Solution</h3>
  <p>I have currently been attempting to use this code, though I am getting a syntax error in the <code>lui</code> instruction.</p>
  <pre><code>main:
  .data
      Array:
      .space 80             #Declares that Array will hold 20 integers
  .text
      lui  $s0, Array       #loads most significant bits into $s0
      ori  $s0, $s0, Array  #loads least significant bits into $s0
  </code></pre>
  <h3>My Question</h3>
  <p>From what I understand, this should result in the address of <code>Array</code> being placed into <code>$s0</code>.  However, as that does not seem to be the case, I'm wondering if anyone would be able to help me out on what I should be doing here.</p>