Muy buenas comunidad T!
La verdad es que aún soy un poco novato en esto de desarrollar en ensamblador, pero ya estoy haciendo mis primeros "pininos" y pues me gustaría compartir lo poco que he aprendido hasta el momento:
Herramientas para desarrollo:
1. Nasm o Gas, los cuales son compiladores para este lenguaje, en mi caso estoy usando Nasm, dado que éste usa sintaxis de intel, a diferencia de Gas que usa sintaxis de AT&T. Lo bueno de todo esto es que ambos están dentro en los repositorios de cualquier distribución.
2. Instalar el "linker" ld y gcc, en muchas distribuciones gcc ya viene instalado, en su defecto, ambos también los podemos encontrar en los repositorios de Linux.
3. Instalar Geany, un Entorno de Desarrollo bonito y eficaz compatible con múltiples lenguajes de programación, con esto me refiero a que identifica la sintaxis del lenguaje y podemos personalizar los comandos de compilación
Programa ejemplo en Terminal:
Comenzando con una impresión de un mensaje:
Ahora hacemos lo mismo pero esta vez llamando funciones de C:
Bien todo esto lo podemos hacer desde terminal pero cada vez que queramos hacer modificaciones al programa es necesario introducir de nuevo los comandos de compilar, ligar y ejecutar; es aquí donde entra Geany.
Desde él podemos personalizar los comandos de compilar, ligar y ejecutar para que con solo tres clicks podamos hacer todo este proceso:
1.-Ya instalado Geany en el menú "Construir" damos en la opción "Establecer Comandos de Construcción" y aparecerá una ventana como esta:

2.-Esto nos permite compilar ligar y ejecutar nuestro programa en ensamblador desde este IDE, desde el menú "Construir", eligiendo las opciones adecuadas
SALUDOS espero que les sea de utilidad
La verdad es que aún soy un poco novato en esto de desarrollar en ensamblador, pero ya estoy haciendo mis primeros "pininos" y pues me gustaría compartir lo poco que he aprendido hasta el momento:
Herramientas para desarrollo:
1. Nasm o Gas, los cuales son compiladores para este lenguaje, en mi caso estoy usando Nasm, dado que éste usa sintaxis de intel, a diferencia de Gas que usa sintaxis de AT&T. Lo bueno de todo esto es que ambos están dentro en los repositorios de cualquier distribución.
2. Instalar el "linker" ld y gcc, en muchas distribuciones gcc ya viene instalado, en su defecto, ambos también los podemos encontrar en los repositorios de Linux.
3. Instalar Geany, un Entorno de Desarrollo bonito y eficaz compatible con múltiples lenguajes de programación, con esto me refiero a que identifica la sintaxis del lenguaje y podemos personalizar los comandos de compilación
Programa ejemplo en Terminal:
Comenzando con una impresión de un mensaje:
;MensajeAssembly.asm
;se compila con nasm -f elf MensajeAssembly.asm
;se liga con ld -s MensajeAssembly.o -o MensajeAssemblyEx
;se ejecuta $ ./MensajeAssemblyEx
section .data
mensaje: db "Mi Primer programa en Ensamblador", 0x0A
lng: equ $-mensaje
section .text
global _start ;se define el punto de entrada
_start:
mov edx, lng
mov ecx, mensaje
mov ebx, 1 ;EBX=Manejador de Ficheros (STOUT)
mov eax, 4 ;EAX=Función sys_write() del Kernel
int 0x80 ;Interrupción 80, llamada al Kernel
mov ebx, 0 ;EBX=Código de salida al SO
mov eax, 1 ;EAX=Función sys_exit del Kernel
int 0x80 ;Interrupción 80, llamada al Kernel
Ahora hacemos lo mismo pero esta vez llamando funciones de C:
;asmC.asm
; nasm -f elf asmC.asm -o asmC.o
; gcc -o asmCex asmC.o
extern printf
section .data
message: db "Mensaje Ensamblador llamado a printf()", 0xA
section .text
global main
main:
; colocar los argumentos de la funcion en la pila, de derecha a izq.
;Introducir parametros del printf a la pila
push message
;llamada a la funcion printf de C
call printf
; balancear la pila
add esp, 4*1
ret
Bien todo esto lo podemos hacer desde terminal pero cada vez que queramos hacer modificaciones al programa es necesario introducir de nuevo los comandos de compilar, ligar y ejecutar; es aquí donde entra Geany.
Desde él podemos personalizar los comandos de compilar, ligar y ejecutar para que con solo tres clicks podamos hacer todo este proceso:
1.-Ya instalado Geany en el menú "Construir" damos en la opción "Establecer Comandos de Construcción" y aparecerá una ventana como esta:

2.-Esto nos permite compilar ligar y ejecutar nuestro programa en ensamblador desde este IDE, desde el menú "Construir", eligiendo las opciones adecuadas
SALUDOS espero que les sea de utilidad

