Buscar este blog

martes, 11 de junio de 2013

NASM Una herramienta libre para programar en Ensamblador



En este artículo menciono algunas de la razones por las que un proyecto desarrollado como Software Libre puede ser una opción viable.
NOTA: Este Artículo quedó como borrador y pendiente de publicación desde el 02 de Abril, pero se los presento ahora.

Estoy actualmente cursando la Licenciatura en Sistemas Computacionales, como entusiasta del Software Libre me he propuesto (y hasta el momento logrado) resolver todos los requisitos de las materias cursadas usando alternativas al Software propuesto en clase con Software Libre.

En cursos anteriores para resolver los requisitos académicos he utilizado en mi equipo personal con Linux Mint 9 las aplicaciones sugeridas en cada uno de los cursos utilizando wine o dosbox y he buscado opciones libres para realizar los mismos resultados de sin la necesidad de usar las versiones de Software Privativo que han sugerido los profesores.

En particular, ahora que en este curso estamos llevando la materia "ensamblador" nos hemos encontrado con varios problemas al compilar (ya que la propuesta de software originalmente sugerida no permite la compilación en las diferentes versiones de Windows ni en Linux Mint con Dosbox.)

Desde el principio del curso he estado buscando información sobre opciones libres para trabajar en ensamblador sobre todo en mi equipo, he encontrado varias opciones, pero la que más me llamó la atención fue NASM.

Varias de las razones para elegir este compilador de ensamblador es que por ser libre está portado a los diferentes sistemas operativos, así que permite la instalación en cualquiera de ellos, también podemos acceder a tutoriales en línea.

Así pues ahora transcribo lo que encontré:

estos artículos que pueden ser importantes par usar NASM

Visión general de los cambios
http://es.kioskea.net/faq/3284-compilar-un-programa-ensamblador-con-nasm

Aprenda ensamblador 80x86 en dos patadas*
http://www.rinconsolidario.org/eps/asm8086/asm.html

CAPÍTULO IV: Programas. Ejecutables en MSDOS y Linux
http://www.rinconsolidario.org/eps/asm8086/CAP4.html

Ejemplos para NASM en MS-DOS
http://expo.itch.edu.mx/view.php?f=asm_22

De estos último sitio ya probé el programa hola mundo del sitio "Ejemplos para NASM en MS-DOS".

Para poder instalar y compilar el programa dejo aquí los pasos para hacerlo (supongo que funcionará también en Windows)

Paso 0: instalar dosbox y configurar dosbox
        el área de descarga del sitio oficial de Dosbox es:
         http://www.dosbox.com/download.php?main=1
        o directamente para instalarlo puedes descargar el siguiente archivo para instalarlo en Windows.
        http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download
        Desde Linux Mint podemos instalarlo usando el gestor de programas, el gestor de paquetes Synaptic o bien usando apt-get desde la terminal.
        Para configurar un espacio de disco duro que pueda usarse en dosbox sugiero crear un directorio llamado dosboxc, de manera que al iniciar dosbox se pueda acceder a el por medio del comando:
       "mount c c:\dosboxc"  sin comillas para el caso de windows.
       "mount c ~/dosboxc" sin comillar para el caso de linux.
        Todo lo que usemos o necesitemos usar en dosbox se vaciaría este directorio.

Paso 1: descargar NASM y descomprimirlo dentro de la carpeta dosboxc.
               la liga directa para usar la última versión de NASM la puedes conseguir en el área de descarga del sitio oficial.
               http://www.nasm.us/
               o directamente en
              http://www.nasm.us/pub/nasm/releasebuilds/2.10.07/dos/nasm-2.10.07-dos.zip

Paso 3: crear el archivo con el programa (yo personalmente lo puse en el mismo directorio en que está NASM.EXE)
Paso 4: compilar el programa
               la instrucción para compilar el archivo test.asm desde la misma carpeta donde está  nasm.exe que usé fue:
               "nasm -f bin test.asm -o test.com" sin comillas
                esto genera el ejecutable test.com

Algunas de las razones por las que esta aplicación es una buena opción como complemento del ámbito académico además de las libertades conferidas ṕor ser Software Libre, son: existen versiones del mismo para las diferentes plataformas (GNU/Linux,MS-DOS, Windows, MacOSx),permite la interacción con las interrupciones de cada uno de estos sistemas operativos, el proyecto sigue activo, es decir que tiene soporte y sigue obteniendo nuevas características y correcciones; y como ya comenté existe información en línea suficiente para obtener ayuda.

Hasta aquí dejo mi particpación por el día de hoy.

No hay comentarios: