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];
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.