Answer:
See explaination
Step-by-step explanation:
Loop Unrolling
Assembly code
loop:
load r1, r5, 40 //r1 = Mem[r5 + 40]
load r6, r5, 36 //r6 = Mem[r5 + 36]
add r7, r6, r2 //r7 = r6 + r2
store r7, r5, 36 //Mem[r5 + 36] = r7
add r1, r1,r2 //r1 = r1 + r2
store r1, r5, 40 //Mem[r5 + 40] = r1
addi r5, r5, -8 //r5 = r5 -8
bne r5, 0, loop //if(r5 != 0)branch to loop