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);
}

Ответы на вопрос(1)

Ваш ответ на вопрос