Tipos de lenguaje ensamblador
- Isaac Tijerina
- 3 feb 2016
- 3 Min. de lectura

NASM
El Netwide Assembler o NASM, es un ensamblador libre para la plataforma Intel x86. Puede ser usado para escribir programas tanto de 16 bits como de 32 bits (IA-32). En el NASM, si se usan las bibliotecas correctas, los programas de 32 bits se pueden escribir de una manera tal para que sean portables entre cualquier sistema operativo x86 de 32 bits. El paquete también incluye un desensamblador, el NDISASM.
El NASM fue escrito originalmente por Simon Tatham con ayuda de Julian Hall, y actualmente es desarrollado por un pequeño equipo en SourceForge que le hace mantenimiento. Fue lanzado originalmente bajo su propia licencia, pero más adelante fue cambiada por la licencia GNU Lesser General Public License, seguido de un número de problemas políticos causado por la selección de la licencia. La próxima versión del NASM, la 2.00, actualmente está siendo desarrollada bajo la bifurcación 0.99, e incluirá soporte para el x86-64 (x64/AMD64/Intel 64), junto con la respectiva salida de archivo objeto de 64 bits.
MASM

El Microsoft Macro Assembler (MASM) es un ensamblador para la familia x86 de microprocesadores. Fue producido originalmente por Microsoft para el trabajo de desarrollo en su sistema operativo MS-DOS, y fue durante cierto tiempo el ensamblador más popular disponible para ese sistema operativo. El MASM soportó una amplia variedad de facilidades para macros y programación estructurada, incluyendo construcciones de alto nivel para bucles, llamadas a procedimientos y alternación (por lo tanto, MASM es un ejemplo de un ensamblador de alto nivel). Versiones posteriores agregaron la capacidad de producir programas para los sistemas operativos Windows. MASM es una de las pocas herramientas de desarrollo de Microsoft para las cuales no había versiones separadas de 16 bits y 32 bits.
Aunque MASM ya no es un producto comercial, Microsoft continúa soportándolo debido a la gran base de código en lenguaje ensamblador que existe internamente en Microsoft. Desde que Microsoft dejó de vender el MASM por separado, ellos han lanzado varias actualizaciones a la línea de productos del MASM versión 6.xx, siendo la última, la versión 6.15, que fue incluida en el Visual C++ 6.0 Processor Pack.
Aunque existen rumores de que Microsoft ya no soporta al MASM, la verdad es que Microsoft continúa soportando este producto, incluso aunque fuera solamente para sus propios propósitos. Generalmente, el soporte es limitado solamente a agregar nuevas instrucciones a medida que aparecen nuevos procesadores y a mejorar el soporte para 64 bits. Más allá de esto, los cambios radicales al ensamblador no se han visto.
GAS

El gas, o GNU Assembler, es el ensamblador del proyecto GNU. Es el back end por defecto del GNU Compiler Collection y es usado para compilar Linux y otros sistemas operativos como el sistema operativo GNU. Es una parte del paquete GNU Binutils, y se puede acceder con el comando as desde el shell. Al igual que el resto de aplicaciones GNU, es software libre, y es licenciado bajo GNU General Public License.
El gas puede ejecutar como también generar ensamblados para un número diferente de arquitecturas. Inicialmente utilizaba únicamente la sintaxis de AT&T en lugar de lasintaxis de Intel usada en muchos otros ensambladores, sin embargo, las últimas versiones soportan dicha sintaxis.
FASM

Flat assembler (FASM) es un ensamblador libre, multi-paso, con el estilo de la sintaxis de Intel que soporta las arquitecturas IA-32y x86-64.
El proyecto fue iniciado en 1999 por Tomasz Grysztar, que en aquella época era un estudiante no graduado de matemáticas enPolonia. El FASM está escrito en lenguaje ensamblador, viene con el código fuente completo, y fue capaz de ensamblarse a sí mismo (bootstrapping) desde la versión 0.90 del 4 de mayo de 1999. El primer lanzamiento público fue anunciado el 15 de marzo del 2000.
Es notable por su velocidad rápida, optimizaciones de tamaño, portabilidad, poderosas capacidades de macro, y la comunidad delforo en línea. Sin embargo, casi no usa opciones en la línea de comandos. Hay disponibles archivos binarios y de código fuentepara Linux, Windows (incluyendo un IDE de desarrollo), DOS, OpenBSD, MenuetOS, OctaOS, y DexOS. FASM contiene vínculos (bindings) para la GUI de Windows y OpenGL.
Todas las versiones de FASM pueden generar los siguientes archivos objeto: binarios planos (flat binary), ELF o COFF (clásico o de MS), como también executables en formatoMZ, ELF o PE. Existe un traslado del ensamblador a la arquitectura ARM, llamado FASMARM.
La última versión disponible es la 1.70.03, lanzada el 29 junio de 2012.
Comentários