Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: marax en 20 Febrero 2021, 21:46 pm



Título: ¿Existe alguna forma de declarar variables en la pila en ensamblador?
Publicado por: marax en 20 Febrero 2021, 21:46 pm
En HLLs el compilador se encarga de procesar los calculos necesarios para el uso de variables en la pila, ademas de ocasionar la localidad entre las variables declaradas.

¿Existe alguna forma de hacer esto en ensamblador? Una tecnica, o algo asi...

Lo unico que se me ocurre es:

Código
  1. mov ebp, esp
  2. push eax ;a partir de ahora existe una variable en SS:EBP+ESP+4

¿Hay alguna otra forma que "Memorizando" las posiciones de memoria?

(Eso lo he aprendido desensamblado .COMs con DEBUG.EXE. Si existe una tecnica mas moderna agradeceria una pequeña explicacion o una referencia)

Saludos.


Título: Re: ¿Existe alguna forma de declarar variables en la pila en ensamblador?
Publicado por: Eternal Idol en 20 Febrero 2021, 21:51 pm
En MASM podes usar PROC y LOCAL para eso.

In the second directive, within a procedure definition (PROC), LOCAL creates stack-based variables that exist for the duration of the procedure. The labelId may be a simple variable or an array containing count elements, where count is a constant expression.

https://docs.microsoft.com/en-us/cpp/assembler/masm/local-masm?view=msvc-160
https://docs.microsoft.com/en-us/cpp/assembler/masm/proc?view=msvc-160


Título: Re: ¿Existe alguna forma de declarar variables en la pila en ensamblador?
Publicado por: marax en 20 Febrero 2021, 21:57 pm
En MASM podes usar PROC y LOCAL para eso.

In the second directive, within a procedure definition (PROC), LOCAL creates stack-based variables that exist for the duration of the procedure. The labelId may be a simple variable or an array containing count elements, where count is a constant expression.

https://docs.microsoft.com/en-us/cpp/assembler/masm/local-masm?view=msvc-160
https://docs.microsoft.com/en-us/cpp/assembler/masm/proc?view=msvc-160

Muchas gracias por tu atencion.
Realmente llevaba bastante tiempo buscando una forma comoda de hacer esto.

Saludos.


Título: Re: ¿Existe alguna forma de declarar variables en la pila en ensamblador?
Publicado por: Eternal Idol en 20 Febrero 2021, 22:20 pm
De nadas  ::)