title: Creating (and accessing) an array in MIPS
body: <p>I'm trying to create an array in MIPS Assembly, and then add all the elements together.  However, when I try to assemble the following, it says </p>
  
  <blockquote>
    <p>Error in read_array line 1 position 7: ".word" directive cannot appear in text segment
    Assemble: operation completed with errors.</p>
  </blockquote>
  
  <p>Here's my assembly:</p>
  
  <pre><code>list: .word 3, 2, 1, 0, 1, 2
  li $t0, 0x00000000  #initialize a loop counter to $t0
  li $t4, 0x00000005  #last index of array
  li $t3, 0x00000000  #this will hold our final sum
  la $t1, list  #the address of list[0] is in $t1
  
  loop: addi $t0, $t0, 0x00000001 #index++
    add $t5, $t0, $t0 #array index X2
    add $t5, $t0, $t0 #array index X2 again
    add $t6, $t5, $t1 #4x array index in $t6
  
    lw $t2, 0($t6)   #load list[index] into $t2
    add $t3, $t3, $t2 #$t3 = $t3 + $t2
    beq $t0, $t4, end
    j loop
  
  end:
  </code></pre>
  
  <p>Thanks!</p>