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

Help Please I will give Thump up. 2.4 (5 pts) [5] For the MIPS assembly instruct

ID: 3745506 • Letter: H

Question

Help Please I will give Thump up.

2.4 (5 pts) [5] For the MIPS assembly instructions below, what is the corresponding C statement? Assume that the variables f, g, h, i, and j are assigned to registers $s0, $s1, $s2, $s3, and $s4, respectively. Assume that the base address of the arrays A and B are in registers $s6 and $s7, respectively.

sll $t0, $s0, 2 # $t0 = f * 4

add $t0, $s6, $t0 # $t0 = &A[f]

lw $s0, 0($t0) # f = A[f]

addi $t2, $t0, 4 # $t2 = &A[f+1]

lw $t0, 0($t2). # $t0 = A[f+1]

sll $t1, $s1, 2. # $t1 = g * 4

add $t1, $s7, $t1 # $t1 = &B[g]

add $t0, $t0, $s0 # $t0 = A[f] + A[f+1]

sw $t0, 0($t1) # B[g] = $t0

Explanation / Answer

The corresponding C code is:

int f, g, h, i, j;

int A[SIZE], B[SIZE];

f = A[f];

B[g] = A[f] + A[f + 1];