Flat Assembler
# Flat Assembler

Der Flat Assembler (kurz FASM) ist ein schlanker Assembler, ein Programm, das Assemblercode in Maschinencode für x86 übersetzt. Entwickler von FASM ist Tomasz Grysztar.

FASM wurde für die 80x86-Prozessorreihen entworfen, das heißt, er kann Programme für 8086-, 80186-, 80286-, 80386- und 80486-Prozessoren erstellen, und unterstützt die Erweiterungen MMX, SSE, SSE2, SSE3 und 3DNow! sowie x86-64-Instruktionen für 64-Bit-Prozessoren, sowohl für AMD64 als auch für Intel 64 (früher EM64T). FASM unterstützt wie viele moderne Assembler die Makroprogrammierung.

FASM kann Dateien in den Formaten MZ, PE, COFF und ELF, sowie „flat binary“ (nutzbar auch als DOS .com und .sys) erstellen, andere Formate können auf Umwegen mit Hilfe externer Programme oder „manuell“ erstellt werden.

Es existieren Versionen für DOS (auch IDE), Windows (auch IDE), Linux sowie alle Unix-Versionen, für die eine C-Standard-Bibliothek verfügbar ist. Die Binärdateien für letztere Systeme können aufgrund der Portabilität des Quellcodes auf den jeweiligen Zielsystemen erzeugt werden.

FASM wird von PureBasic, BlitzMax und von der High-Level-Assembly-Sprache als Backend des Compilers genutzt. Ferner wurden die eher experimentellen Betriebssysteme MenuetOS und KolibriOS in FASM geschrieben.

