Der Flat-Assembler (kurz FASM) ist ein Assembler für DOS, Windows und Linux, der sich selbst übersetzen kann. Hauptsächlich für x86 Instruktionen entwickelt, beherrscht er mittlerweile auch x86-64 und viele Erweiterungen wie z.B. MMX, 3DNow!, SSE bis SSE4, AVX, AVX2, XOP und AVX-512. Er kann einfache Binaries, MZ, PE, COFF und ELF Dateien erzeugen. Er enthält auch leistungsstarken Makro-Support und durchläuft mehrere Durchgänge um auf Größe zu optimieren. Kompletter Quellcode enthalten.