Flat assembler (FASM) es un ensamblador libre, multi-paso[1] con el estilo de sintaxis de Intel para las arquitecturas IA-32,[2] y x86-64.
El proyecto fue iniciado en 1999 por Tomasz Grysztar, también conocido como Privalov,[3] 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 (auto-hospedaje) desde la versión 0.90 del 4 de mayo de 1999. El primer lanzamiento público fue en marzo del 2000.[3]
Es notable por su velocidad rápida, optimizaciones de tamaño, portabilidad, poderosas capacidades de macro,[1] 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.[4] Existe un traslado del ensamblador a la arquitectura ARM, llamado FASMARM.[5]
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.
Referencias
- ↑ a b Randall Hyde. «¿Cuál es el Mejor Ensamblador?» (en inglés). Archivado desde el original el 14 de mayo de 2021. Consultado el 13 de mayo de 2021.
- ↑ Cavanagh, Joseph (2013). X86 Assembly Language and C Fundamentals (en inglés). CRC Press. p. xxiv. ISBN 978-1-4665-6825-9.
- ↑ a b Aquila (12 de agosto de 2004). «Entrevista con Privalov, el autor de FASM». WASM.RU (en inglés). Archivado desde el original el 8 de octubre de 2007. Consultado el 12 de mayo de 2008.
- ↑ Lyashko, Alexey (2017). Mastering Assembly Programming: From instruction set to kernel module with Intel processor (en inglés). Packt Publishing. p. 40. ISBN 978-1-78728-748-8.
- ↑ Zhukovskyy, V.; Zhukovska, N.; Vlasyuk, A.; Safonyk, A. (24 de octubre de 2019). «Method of Forensic Analysis for Compromising Carrier-lock Algorithm on 3G Modem Firmware». IEEE (en inglés). doi:10.1109/UKRCON.2019.8879941.
Véase también
- Ensamblador
- Lenguaje ensamblador
- Lenguaje ensamblador x86
- Netwide Assembler (NASM)
- RosASM
- High Level Assembly Language (HLA)
- GNU Assembler (Gas)
- Microsoft Macro Assembler (MASM)
- Turbo Assembler (TASM)
- A86 y A386 assemblers
Enlaces externos
- FASM
- Sitio oficial
- Manual de FASM
- Archivo de versiones antiguas Archivado el 21 de marzo de 2018 en Wayback Machine.
- Ejemplos
- Foro
- Sistemas operativos escritos en FASM