233k views
2 votes
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]
sll $t1, $s1, 2 # $t1 = g * 4
add $t1, $s7, $t1 # $t1 = &B[g]
lw $s0, 0($t0) # f = A[f]
addi $t2, $t0, 4
lw $t0, 0($t2)
add $t0, $t0, $s0
sw $t0, 0($t1)

1 Answer

6 votes

Answer:

Step-by-step explanation:

The MIPS (Microprocessor without Interlocked Pipeline Stages) Assembly language is designed to work with the MIPS microprocessor. These RISC processors are used in embedded systems such as gateways and routers.

The C statement for given MIPS instruction set is below:

f = A[f];

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

B[g] = f;

Here, f, g, h and i are variables used in program.

A and B are arrays used in program.

Hope this helps!

User Jamadan
by
6.6k points