1
0

sample.mips.txt 522 B

12345678910111213
  1. # A[i] = A[i/2] + 1;
  2. lw $t0, 0($gp) # fetch i
  3. srl $t1, $t0, 1 # i/2
  4. sll $t1, $t1, 2 # turn i/2 into a byte offset (*4)
  5. add $t1, $gp, $t1 # &A[i/2] - 28
  6. lw $t1, 28($t1) # fetch A[i/2]
  7. addi $t1, $t1, 1 # A[i/2] + 1
  8. sll $t2, $t0, 2 # turn i into a byte offset
  9. add $t2, $t2, $gp # &A[i] - 28
  10. sw $t1, 28($t2) # A[i] = ...
  11. # A[i+1] = -1;
  12. addi $t1, $zero, -1 # -1
  13. sw $t1, 32($t2) # A[i+1] = -1