Question: Consider the following C-style program below. Diagram the changes in the stack that occur when some subroutine bar is called from the current subroutine foo.

Consider the following C-style program below. Diagram the changes in the stack that occur when some subroutine bar is called from the current subroutine foo. In particular, show the subroutine frames on the stack before the call of bar, while bar is executing, and after it has returned. Show the positions of the stack pointer (sp) and the frame pointer (fp) at each stage. Also, using the typical subroutine frame layout discussed in class, indicate the stack locations of the arguments to bar as well as the return value. int bar(int a, int b) {int ret; ret = a + b; return ret;} void foo() {int x; x = bar(1,2);}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
