Ebp, esp и стековая рама в сборе с носом
У меня есть несколько вопросов о ebp, esp и стековом фрейме в следующем коде.
Почему мы вычли 28 из ESP? У нас есть две локальные переменные x и y в main. Так почему же мы не вычли 8?
И разве мы не помещаем значения в стек справа налево? Так почему же мы добавили 1 к [eax + 8] вместо [eax + 4]?
Я немного запутался в этой структуре. Можете ли вы помочь мне? Спасибо.
func(int a, int b, int c)
{
return a+b+c;
}
main()
{
int x, y=3;
x=func(y,2,1);
}