title: MIPS printing string
body: <p>So here is the practice question:</p>
  
  <p>Given the data segment below, write the code to print the string “Hello”</p>
  
  <pre><code>.data
       .asciiz    “A”
       .asciiz    “Hello”
  .globl main
  main:
  </code></pre>
  
  <p>What I wrote under main:</p>
  
  <pre><code>main:
  lui $a0, 0x1001
  addi $v0, $0, 4
  syscall
  </code></pre>
  
  <p>The output I am receiving is "A", obviously it's because the lui address is wrong. My question is, how do I print "Hello". Do I increment the lui address? And if so, by what?</p>
  
  <p>I have searched around for similar answers, unfortunately people are smart and use pesudo instructions, which I am not able to use.</p>
  
  <p>Thank you in advance for your help.</p>