В вопросе, который я пишу, у меня есть вопрос о фреймах стека:
Рассмотрим следующую функцию в Nada (выдуманный язык), языке, используемом в лекциях:
function f(x,y)
begin
var z
z := y - x;
return z * z;
end;
Такую функцию можно было бы вызвать следующим образом:
n := f(a+2,b*3)
Используя диаграммы, чтобы проиллюстрировать ваш ответ, объясните последовательность событий, когда выполняется вызов функции выше, показывая, как фрейм стека создается при входе в функцию и уничтожается при выйти из него, и как регистр базового указателя используется при доступе к параметрам x и y и локальной переменной z.
Я ответил на этот вопрос, и это кадр стека, который я создал:
Я просто хочу кого-нибудь чтобы исправить это для меня, если что-то не так ... или создать новый кадр стека (если у кого-то есть время). Буду очень признателен за помощь.