S

salvador_donovan

Usuario (México)

Primer post: 23 sept 2011Último post: 23 sept 2011
1
Posts
45
Puntos totales
1
Comentarios
Ensablador en Geany (Linux)
Ensablador en Geany (Linux)
LinuxporAnónimo9/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ónPrograma 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 $-mensajesection .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.oextern printfsection .data message: db "Mensaje Ensamblador llamado a printf()", 0xAsection .text global mainmain: ; 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 adecuadasSALUDOS espero que les sea de utilidad

45
6
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.