thumb|250px|FASMD - Versión DOS con IDE del FASM.
Flat assembler (FASM) es un ensamblador libre, multipaso con el estilo de sintaxis de Intel para las arquitecturas IA-32, y x86-64.
El proyecto fue iniciado en 1999 por Tomasz Grysztar, también conocido como Privalov, quién en aquella época era un estudiante no graduado de matemáticas en Polonia. FASM está escrito en lenguaje ensamblador, viene con el código fuente completo, y fue capaz de ensamblarse a sí mismo (autohospedaje) desde la versión 0.90 del 4 de mayo de 1999. El primer lanzamiento público fue en marzo del 2000.
Es notable por su velocidad rápida, optimizaciones de tamaño, portabilidad, poderosas capacidades de macro, y la comunidad del foro en línea. Sin embargo, casi no usa opciones en la línea de comandos. Hay disponibles archivos binarios y de código fuente para 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 ejecutables en formato MZ, ELF o PE. Existe un traslado del ensamblador a la arquitectura ARM, llamado FASMARM.
La última versión disponible es la 1.73.27, lanzada el 21 de abril de 2021.
Los ejemplos de uso de FASM incluyen el sistema operativo KolibriOS, la librería de audio uFMOD, la herramienta ImpLib SDK, entre otros. Compiladores como PureBasic, BlitzMax, Simple C, Thistle (compilador didáctico de Basic), utilizan FASM para generar código ejecutable.
Véase también
Ensamblador Lenguaje ensamblador Lenguaje ensamblador x86 Anexo:Listados de instrucciones x86 Netwide Assembler (NASM) RosASM High Level Assembly Language (HLA) GNU Assembler (Gas) Microsoft Macro Assembler (MASM) Turbo Assembler (TASM) A86 y A386 assemblers
Referencias
Enlaces externos
FASM Sitio oficial Manual de FASM Archivo de versiones antiguas Ejemplos Foro
Sistemas operativos escritos en FASM OctaOS
Categoría:Ensambladores Categoría:Introducciones relacionadas a la ciencia de la computación de 1999 Categoría:Herramientas de programación para Unix Categoría:Software libre programado en Assembler