Question: Consider a program that declares global integer variables x, y[10]. These variables are allocated starting at a base address of decimal 1000. All these variables
Consider a program that declares global integer variables x, y[10]. These variables are allocated starting at a base address of decimal 1000. All these variables have been initialized to zero. The base address 1000 has been placed in $gp. The program executes the following assembly instructions: lw $s1, 0($gp) addi $s1, $s1, 25 sw $s1, 0($gp) lw $s2, 12($gp) add $s2, $s2, $s1 sw $s2, 8($gp) sw $s2, 12($gp)
a) What are the memory addresses of variables x, y[0], and y[1]? (15 points)
b) What are the values of variables x, y[0], y[1], and y[2] at the end of the program? (20 points)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
