Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: proxy_lainux en Julio 03, 2013, 12:26:05 AM

Título: [SOLUCIONADO] Como usar correctamente esp y ebp en distintas funciones?
Publicado por: proxy_lainux en Julio 03, 2013, 12:26:05 AM
hola

tengo una duda, en ensamblador al crear una funciona usando
Código (asm) [Seleccionar]

push ebp
mov ebp, esp
sub esp, 12

.... etc
..... etc

mov [ebp + 0x08], eax
call segundo

mov esp, ebp
pop ebp
ret 8


si hago esto, y abajo coloco una segunda función que seria para el call "segundo", para accesar a los datos de ebp de la primera funcion, ¿cambiaria?, por ejemplo para accesar tendría que usar, ¿esp?

Código (asm) [Seleccionar]
segundo
mov eax, [esp + 0x08]


en otras palabras, lo que haya en ebp, afuera de una función cambiaría a esp?, o sigue siendo ebp afuera y adentro de cualquier función?
Título: Re:como usar correctamente esp y ebp en distintas funciones?
Publicado por: Juan en Julio 03, 2013, 12:12:09 PM
No cambiaría porque al retornar la funcion llamada "segundo", dejaría intacto de nuevo ebp y esp.

un saludo.
Título: Re:como usar correctamente esp y ebp en distintas funciones?
Publicado por: The Swash en Julio 05, 2013, 05:12:27 AM
Ya te han respondido de todas formas te dejo un enlace con información al respecto para que sanes todas tus dudas:

Paso de parámetros y stack frame. (http://eidanyoson.8k.com/stack.htm)

Saludos!
Título: Re:como usar correctamente esp y ebp en distintas funciones?
Publicado por: [L]ord [R]NA en Julio 08, 2013, 11:00:22 AM
Una recomendacion rapida... no toques ESP a menos que sea de extrema necesidad. Este registro esta reservado para la pila.