Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: oPen syLar en 16 Enero 2011, 00:18 am



Título: Deberia POPear los segmentos que no utilizo.?
Publicado por: oPen syLar en 16 Enero 2011, 00:18 am
Buenas... Mi pregunta es sencilla.. Parece de logica.. Pero no me aclaro mucho con los segmentos...

Deberia de POPear los segmentos de registro al inicio de un programa cuando no los vaya a utilizar.? O eso lo hace automaticamente el programa.?

es decir.. Si no utilizo el DS.. ES.. SS.. Deberia..

Código:
pop ds
pop es
pop ss
push cs

mov ebx, 123
....
......
........


Título: Re: Deberia POPear los segmentos que no utilizo.?
Publicado por: Иōҳ en 21 Enero 2011, 01:33 am
si no pusheas nada, no derias popear nada.... por logica.... a no ser que quieras que de crash!

almenos que estes haciendo algo especial... con todo el code que das no dices muxo :P


Título: Re: Deberia POPear los segmentos que no utilizo.?
Publicado por: Space.Medafighter.X en 21 Enero 2011, 01:41 am
Deberías explicarte mejor, el código parece más bien un fragmento y no da una idea de lo que quieres hacer. Con el opcode "POP" estas sacando valores de la stack, y luego pusheas "cs" sin razon alguna...


Título: Re: Deberia POPear los segmentos que no utilizo.?
Publicado por: AleX Inc. en 13 Febrero 2011, 00:20 am
para poder usar un POP primero debes haber hecho un PUSH (en la mayoria de loc casos)
el PUSH guarda en la pila y el POP remueve de la pila, si guardas algo y no lo remueves o tratas de remover algo que no esta guardado, por logica abra un error.