Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write the MIPS assembly code that corresponds to the pseudo code below. Assume t

ID: 3880860 • Letter: W

Question

Write the MIPS assembly code that corresponds to the pseudo code below. Assume that the address for integer i is baseaddress+4 and the address for a[0] is baseaddress+8. Assume that the baseaddress is stored in $gp. The code initializes i to 0; it then iterates from i=0 to i=9, setting a[i] = 4i in each iteration. To make your code efficient, i must be loaded into a register at the start, and it must be updated in memory only after you've finished the for loop.  
for (i=0; i<10; i++)
a[i] = 4*i;

Explanation / Answer

add $t0, $zero, $zero

addi $t1, $zero, 10

LOOP: sw $t0, 0($s2)

  mul $t0, $t0, 4
addi $s2, $s2, 4

addi $t0, $t0, 1
  beq $t0, $t1, LOOP

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Chat Now And Get Quote