Salto a dato cuando se hace POP en el stack

Re: Salto a dato cuando se hace POP en el stack

de Andres Bello Ureta -
Número de respuestas: 0

Claro, sumas dos al SP.
Acordate que cuando haces push restas y colocas.


SP -> +-------------+ 0
           |        dato   |
            +------------+ 2
 Un push hace SP - 2 (baja una celda, porque cada celda es de 2 byte) y coloca el valor rel registro. Osea que un call te deja el stack:

          +-------------+ 0
          |        dato   |
SP->  +------------+ 2
           |      IP        |
          +------------+  4 

Cuando haces el pop es lo inverso. Graba el valor y luego suma 2, es decir, "sube". Entonces cuando haces el ret SP queda apuntando a 0. Donde esta el dato.