Marco ebp, esp y stack en conjunto con nasm.
Tengo algunas preguntas sobre ebp, esp y el marco de pila en el siguiente código.
¿Por qué restamos 28 de esp? Tenemos dos variables locales x e y en main. Entonces, ¿por qué no restamos 8?
¿Y no ponemos valores para apilar de derecha a izquierda? Entonces, ¿por qué agregamos 1 a [eax + 8] en lugar de [eax + 4]?
Estoy un poco confundido acerca de esta estructura. ¿Me puedes ayudar? Gracias.
func(int a, int b, int c)
{
return a+b+c;
}
main()
{
int x, y=3;
x=func(y,2,1);
}