Question: Please fix code from main section below. Must work with code from other sections unaltered. Pay attention to comments and ONLY alter main section code.
Please fix code from main section below. Must work with code from other sections unaltered. Pay attention to comments and ONLY alter main section code.
Problem:
Given the following C program and the mapping of registers to variables, complete the MIPSzy implementation of Main. Do not implement return ; in main
int Difint a int b
return a b;
int Sumint a int b
return a b;
int main
int x y;
w Sumx y;
z Dify x;
return ; Do not implement
Registers Variables
$t x
$t y
$t w
$t z
Hints: Use program stack to pass arguments, return values, and preserve saved registers. Remember to pop the stack after each function returns.
Ex: If the values of $t and $t are initialized in the simulator as:
Registers Data
$t
$t
the results are stored in $t and $t:
Registers Data
$t
$t
$t
$t
Note: Use the button under the Registers display to initialize register values for $t and $t
Code:
addi $sp $zero, # Assume program stack starts at Do not modify.
# Procedure Main Only modify this
Main:
# Procedure Sum Do not modify
Sum:
lw $t$sp
lw $t$sp
add $t $t $t
sw $t$sp
jr $ra
# Procedure Dif Do not modify
Dif:
lw $t$sp
lw $t$sp
sub $t $t $t
sw $t$sp
jr $ra
End:
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
