Este post busca ayudar a dar los primeros pasos en el desarrollo de aplicaciones en lenguaje ensamblador, en entornos GNU Linux para el ejemplo se utiliza Debian Lenny, el ensamblador y enlazador de GNU contenidos en el paquete binutils (as, ld).
Básicamente los pasos que debemos seguir son los siguientes
instalar el paquete binutils, para esto en una consola iniciada en modo root.
cuando la instalacion se completa correctamente, podemos ejecutar "as" y "ld" para ensamblar y linkar respectivamente.
el programa que vamos a crear, es el hola mundo, para esto vamos a utilizar las llamadas al sistema "write" y "exit" como se detalla en el código fuente a continuación
Descargar -> Codigo fuente
los pasos para ensamblar y linkar son los siguientes
1) Guardar como hola.asm
2) Escribir el comando: as -o hola.o hola.asm
en este paso, el ensamblador toma el codigo fuente (hola.asm), y genera un archivo de codigo objeto (hola.o)
codigoFuente.asm -> se ensambla para producir -> codigoObjeto.o
3) Escribir el comando: ld -s -o hola hola.o
en este paso, ld enlaza nuestro codigo objeto, con las librerias necesarias para hacerlo un archivo ejecutable
codigoObjeto.o -> se enlaza o se linkea para producir -> ejecutable
4) Para ejecutar escribir: ./hola
Básicamente los pasos que debemos seguir son los siguientes
instalar el paquete binutils, para esto en una consola iniciada en modo root.
apt-get install binutils
cuando la instalacion se completa correctamente, podemos ejecutar "as" y "ld" para ensamblar y linkar respectivamente.
el programa que vamos a crear, es el hola mundo, para esto vamos a utilizar las llamadas al sistema "write" y "exit" como se detalla en el código fuente a continuación
.text .global _start _start: movl $len, %edx movl $msg, %ecx movl $1, %ebx movl $4, %eax int $0x80 movl $0, %ebx movl $1, %eax int $0x80 .data msg: .ascii "hola mundo!\n" len = 12
Descargar -> Codigo fuente
los pasos para ensamblar y linkar son los siguientes
1) Guardar como hola.asm
2) Escribir el comando: as -o hola.o hola.asm
en este paso, el ensamblador toma el codigo fuente (hola.asm), y genera un archivo de codigo objeto (hola.o)
codigoFuente.asm -> se ensambla para producir -> codigoObjeto.o
3) Escribir el comando: ld -s -o hola hola.o
en este paso, ld enlaza nuestro codigo objeto, con las librerias necesarias para hacerlo un archivo ejecutable
codigoObjeto.o -> se enlaza o se linkea para producir -> ejecutable
4) Para ejecutar escribir: ./hola
gracias
ResponderBorrar