elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  como referencia el codigo ensamblador a una variable (local) en memoria?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como referencia el codigo ensamblador a una variable (local) en memoria?  (Leído 2,962 veces)
MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
como referencia el codigo ensamblador a una variable (local) en memoria?
« en: 17 Marzo 2017, 13:54 pm »

Hola, alguien sabe como referencia elcodigo ensamblador a una variable local en memoria principal?, en otras palabras, como se compila este codigo de C

Código
  1.  
  2. int i;
  3. int i = 0; /* este especificamente */
  4.  
  5.  

a ensamblador IA-32 (i386)?

saludos


En línea

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: como referencia el codigo ensamblador a una variable (local) en memoria?
« Respuesta #1 en: 17 Marzo 2017, 18:06 pm »

Creo que te referís a esto:

Código
  1. lea edi,[ebp-4] ; int i;
  2. mov DWORD[edi],0 ; i = 0;

utilizamos Lea para obtener la dirección de i y le asignamos el valor de cero.


En línea

MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
Re: como referencia el codigo ensamblador a una variable (local) en memoria?
« Respuesta #2 en: 17 Marzo 2017, 20:00 pm »

si, a eso mismo me refiero. Pero, una  duda, el numero X que va en

Código
  1.  
  2. lea edi, [ebp-X]
  3.  
  4.  

tiene que ir incrementando segun mas variables locales se vayan declarado anteriormente?

saludos!
« Última modificación: 22 Mayo 2017, 23:50 pm por MRx86 » En línea

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
Re: como referencia el codigo ensamblador a una variable (local) en memoria?
« Respuesta #3 en: 18 Marzo 2017, 11:19 am »

Las variables locales se encuentran restando a EBX, -4 es la primera variable de 4 bytes,-8 la segunda y así sucesivamente.

Algunos lenguajes de programación son mucho mas estrictos con esta regla, por lo que si tienes una variable de 4 bytes y luego un "short" podrias llegar a ver instrucciones como "lea edi,[ebx-6]", pero esos casos son raros.
En línea

MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
Re: como referencia el codigo ensamblador a una variable (local) en memoria?
« Respuesta #4 en: 22 Mayo 2017, 23:50 pm »

A eso mismo me refiero!! Muchas gracias por responder
En línea

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como traducir una intrucción ensamblador a codigo maquina?
Ingeniería Inversa
Thor 0 2,586 Último mensaje 22 Abril 2005, 15:19 pm
por Thor
Problemas con Variable por Referencia a un HILO « 1 2 »
.NET (C#, VB.NET, ASP)
Skeletron 15 11,982 Último mensaje 20 Febrero 2010, 06:07 am
por elmaro
warning al pasar por referencia una variable local.
Programación C/C++
botella 6 4,396 Último mensaje 8 Julio 2010, 07:41 am
por carlitos_jajajajaja
Ayuda con variable de referencia
Java
тαптяα 4 2,130 Último mensaje 5 Octubre 2011, 19:32 pm
por тαптяα
Referencia de variable y objeto tras ingresarse como argumento
Java
Fabi0lo 2 2,456 Último mensaje 3 Abril 2012, 15:32 pm
por Fabi0lo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines