InicioLinuxEnsablador en Geany (Linux)

Ensablador en Geany (Linux)

Linux•9/23/2011
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:


;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:


Ensablador en Geany (Linux)


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
Datos archivados del Taringa! original
45puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
12visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

s
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.