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. És un assemblador de baix nivell 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).

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. 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. 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

Categoria:Programari