Foros del Web » Programación para mayores de 30 ;) » Programación General »

Lenguaje de bajo nivel que crea un compilador

Estas en el tema de Lenguaje de bajo nivel que crea un compilador en el foro de Programación General en Foros del Web. Saludos. Ultimamente me estoy interesando por la parte de bajo nivel en la programacion, osease, lenguaje ensamblador. Alguien sabe como puedo ver el leguaje de ...
  #1 (permalink)  
Antiguo 03/02/2005, 14:23
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 2 meses
Puntos: 2
Pregunta Lenguaje de bajo nivel que crea un compilador

Saludos.
Ultimamente me estoy interesando por la parte de bajo nivel en la programacion, osease, lenguaje ensamblador. Alguien sabe como puedo ver el leguaje de bajo nivel creado por un compilador, por ejemplo el de Dev-c++ 4?
Por otra parte, como conseguiria obtener el lenguaje ensamblador de un programa del cual no tengo el codigo fuente?
  #2 (permalink)  
Antiguo 03/02/2005, 14:44
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
Todos los programas ejecutables estan escritos finalmente en ensamblador, dentro de un exe de Windows (PE) hay unas cabeceras y entre ellas esta la que contiene el codigo del programa intacto.

Con cualquier depurador o desensamblador lo podes hacer, el mejor es el SoftICE (es comercial) y sino podes usar el OllyDbg que es gratis http://home.t-online.de/home/Ollydbg/
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 03/02/2005, 14:53
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
Una forma muy simple si tenes el VC++ es usar dumpbin /disasm archivo.exe, asi obtenes el codigo en ensamblador del programa.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 03/02/2005, 15:05
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 2 meses
Puntos: 2
De acuerdo Thanks

una vez mas gracias
  #5 (permalink)  
Antiguo 03/02/2005, 15:35
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 04/02/2005, 12:09
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
aprovechando este Hilo, sabes tu de algun listado para obtener las equivalencias de ciertas llamadas en asm a Hexa ?

he estado viendo mis exes y entender que hacen internamente, pero algunas cosas no se que significan, ponte 0x90 se que no hace nada (NOP), pero algunas veces me encuentro con numeros que no se que funcion tienen, y lo que hago es ejecutar debug, meter instrucciones a lo loco, compilar, y ver con un editor hexa a ver que instruccion es la que genera ese codigo en hexa (si tengo suerte la encuentro, si no google) pero es algo tedioso.

Saludos
__________________
Jorge Mota
Blog
Gubiz estafa
  #7 (permalink)  
Antiguo 04/02/2005, 12:14
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
Con el depurador ese (gratuito) podes meter en memoria los bytes y te los muestra en la ventana CPU como codigo de ensamblador.

Los opcodes estan todos aca de cualquier manera:
http://www.intel.com/design/Pentium4...on.htm#manuals

IA-32 Intel Architecture Software Developer's Manual Volume 2A: Instruction Set Reference, A-M
IA-32 Intel Architecture Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z

Esos dos mas precisamente
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #8 (permalink)  
Antiguo 04/02/2005, 17:17
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 2 meses
Puntos: 2
win32asm 8086...

Me ha surgido una duda viendo codigo fuente del win32asm...

Es lo mismo el leguaje ensamblador 8086 puro que el concepto del win32asm?
Lo digo pq he visto, en codigo ensamblador win32asm, sentencias como if, else, WHILE...
  #9 (permalink)  
Antiguo 04/02/2005, 17:28
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
¿Con win32asm te referis al paquete MASM32?

¿.if .else .while? Eso no es codigo de ensamblador, son pequeñas 'ayudas' que estan implementadas en MASM (Microsoft MacroAssembler).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Última edición por Eternal Idol; 04/02/2005 a las 17:31
  #10 (permalink)  
Antiguo 04/02/2005, 19:12
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 2 meses
Puntos: 2
Masm32

Supongo que sera el MASM32, solo se que me estrañó ver esas sentencias y me preguntaba si estas "ayudas" deben utilizarse asiduamente o por el contrario si se deben de evitar en lo posible.
  #11 (permalink)  
Antiguo 05/02/2005, 03:22
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 19 años, 11 meses
Puntos: 74
Al principio deberias usarlas y ver el codigo que generan, aprender a utilizar el codigo real (cmp, test, jmp, jnz, etc) y cuando ya sepas bien que representan estas 'ayudas' utilizarlas siempre que puedas.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:22.