FASM
| |
Tipus | assembler (en) , aplicació i compilador |
---|---|
Versió inicial | 1999 |
Versió estable | |
Llicència | llicència BSD de 2 clàusules |
Característiques tècniques | |
Sistema operatiu | Unix-like, Microsoft Windows, MS-DOS, DOS, Linux, OpenBSD, MenuetOS i KolibriOS |
Plataforma | Multiplataforma |
Escrit en | Llenguatge assemblador |
Format de fitxer de lectura | |
Fonts de codi | |
Més informació | |
Lloc web | flatassembler.net (anglès) |
Free Software Directory | FASM |
Guia d'usuari | Guia d'usuari |
| |
FASM (assemblador pla) és un assemblador per a processadors x86. Admet llenguatge assemblador d'estil Intel a les arquitectures d'ordinadors IA-32 i x86-64. Proporciona alta velocitat, optimitzacions a mida, portabilitat al sistema operatiu (SO) i habilitats macro.[1][2] És un assemblador de baix nivell [2] i utilitza intencionadament molt poques opcions de línia d'ordres i és un programari lliure de codi obert.
Totes les versions de FASM poden generar directament qualsevol dels següents: binari pla "crue" (utilitzable també com a executable COM de MS-DOS o controlador SYS), objectes: format executable i enllaçable (ELF) o format de fitxer d'objectes comú (COFF) (clàssic). o específics de MS), o executables en format MZ, ELF o Portable Executable (PE) (inclosos els controladors WDM, permeten un taló MZ DOS personalitzat). També existeix un port no oficial dirigit a l'arquitectura ARM (FASMARM).[3]
El projecte va ser iniciat l'any 1999 per Tomasz Grysztar, alias Privalov, aleshores un estudiant de grau de matemàtiques de Polònia. Va ser llançat públicament el març de 2000.[4][5] FASM està escrit completament en llenguatge assemblador i inclou la font completa. S'allotja automàticament i s'ha pogut muntar des de la versió 0.90 (4 de maig de 1999).
FASM originalment funcionava en mode real pla de 16 bits. Es va afegir suport de 32 bits i després es va complementar amb suport DPMI opcional. Dissenyat per ser fàcil de portar a qualsevol sistema operatiu amb adreça plana de 32 bits, es va portar a Windows i després a Linux.
FASM és un assemblador multipassa. Fa una àmplia optimització de la mida del codi i permet una referència directa sense restriccions.[6][7] Una construcció FASM inusual és definir procediments només si s'utilitzen en algun lloc del codi, cosa que en la majoria dels idiomes es fa per l'enllaçador.
.
Referències
[modifica]- ↑ Tomasz Grysztar. «Flat Assembler Programmer's Manual» (en anglès). [Consulta: 12 maig 2008].
- ↑ 2,0 2,1 Randall Hyde. «Which Assembler is the Best?» (en anglès). [Consulta: 18 maig 2008].[Enllaç no actiu]
- ↑ «FASMARM» (en anglès), 20-03-2008. [Consulta: 12 maig 2008].
- ↑ «Interview with Privalov the author of FASM» (en anglès), 12-08-2004. Arxivat de l'original el 2007-10-08. [Consulta: 12 maig 2008].
- ↑ Tomasz Grysztar. «flat assembler» (en anglès), 15-03-2000. [Consulta: 19 maig 2008].
- ↑ Randall Hyde. «Which Assembler is the Best?» (en anglès). [Consulta: 18 maig 2008].[Enllaç no actiu]
- ↑ Tomasz Grysztar. «Flat Assembler Design Principles» (en anglès). [Consulta: 12 maig 2008].