Es CISC.

Untitled

Untitled

x86 tiene una pila, el compilador sabe gestionarla.

Convention call: Cdec → para que todas mis funciones puedan entenderse: guardar el stack frame anterior, definir el nuevo, pushear los argumentos en orden inverso y hacer la llamada.

Stack Frame: Delimita el stack en base a la llamada. Para que se pueda saber que parte de la pila es de una funcion y de otra.

Existen 2 registros: esp y ebp (para determinar la dirección del stack frame). Lo primero que se hace cuando se llama a una función es pushear al stack el ebp (guardo el valor de antiguo stack frame). Luego se mueve esp a ebp. ebp es el puntero al tope siempre.

Paso los parámetros por pila en orden inverso y hago un call a la función.

Untitled

Con sub reservo lugar para las 3 variables locales.

Untitled