L'assembleur flat (en abrégé Fasm) est un assembleur rapide pour les systèmes d'exploitation DOS, Windows et GNU/Linux. Il a été conçu principalement pour l'assemblage d'instructions x86 et prend en charge les jeux d'instructions x86 et x86-64 avec MMX, 3DNow !, SSE jusqu'aux extensions SSE4, AVX, AVX2, XOP et AVX-512 et peut produire des sorties au format binaire simple, MZ , Format PE, COFF ou ELF. Il inclut le support de macroinstruction puissant mais facile à utiliser et effectue plusieurs passes pour optimiser la taille des codes d'instruction. L'assembleur flat est auto-hébergé et le code source complet est inclus.