Convert from Java code to MIPS Assembly code C statements MI
Convert from Java code to MIPS Assembly code
C statements
MIPS Assembly code
f = (g + h) + (j + 13)
A[12] = h + A[8]
if (f != 0) {
f = f + j;
j = j - 1;
}
if (j==h) f = g+h;
 else f = g-h;
f = f + A[2];
if (j !=h ) f = f + 1;
f = g + h;
| C statements | MIPS Assembly code | 
| f = (g + h) + (j + 13) | |
| A[12] = h + A[8] | |
| if (f != 0) { f = f + j; j = j - 1; } | |
| if (j==h) f = g+h; f = f + A[2]; | |
| if (j !=h ) f = f + 1; f = g + h; | 
Solution
a)
add t0, g, h
add f, g, h
add t1, i, j
b)lw $t0, 32($s3)
add $t0, $s2, $t0
sw $t0, 48($s3)
c)
Let $s3->f
$s2->j
bne $s3,0,Else
Else:
add $s3, $s3, $s2
sub $s2,$2,1
Exit
===========================================
d)
if (j !=h ) f = f + 1;
f = g + h;
Let $s1=j,$s2=h,$s3=f,$s4=g
bne $s1,$s2,Else
add $s3,$s3,1
Else:add $s3,$s4,$s2
Exit
=====================================================
if (j==h) f = g+h;
 else f = g-h;
f = f + A[2];
Let
 $s1=j,$s2=h,$s3=f,$s4=g,$s5=address of A,
lw $t0, 8($s5) # A[2] is brought into $t0
bne $s1,$s2,Else
 add $s3,$s4,$s2
Else:add $s3,$s4,$s2
 add $s3,$s3,$t0
![Convert from Java code to MIPS Assembly code C statements MIPS Assembly code f = (g + h) + (j + 13) A[12] = h + A[8] if (f != 0) { f = f + j; j = j - 1; } if (j Convert from Java code to MIPS Assembly code C statements MIPS Assembly code f = (g + h) + (j + 13) A[12] = h + A[8] if (f != 0) { f = f + j; j = j - 1; } if (j](/WebImages/37/convert-from-java-code-to-mips-assembly-code-c-statements-mi-1110277-1761588559-0.webp)
![Convert from Java code to MIPS Assembly code C statements MIPS Assembly code f = (g + h) + (j + 13) A[12] = h + A[8] if (f != 0) { f = f + j; j = j - 1; } if (j Convert from Java code to MIPS Assembly code C statements MIPS Assembly code f = (g + h) + (j + 13) A[12] = h + A[8] if (f != 0) { f = f + j; j = j - 1; } if (j](/WebImages/37/convert-from-java-code-to-mips-assembly-code-c-statements-mi-1110277-1761588559-1.webp)
