Flat assembler (förkortat fasm) är en snabb självassemblerande assemblator för DOS, Windows och Linux operativ systemen. Det designades primär för assemblering av x86-instruktion och har stöd för x86 och x86-64-instruktionsuppsättningar med MMX-, 3DNow!-, SSE- upp till SSE4-, AVX-, AVX2-, XOP- och AVX-512-tillägg och kan producera utdata i rent binär-, MZ-, PE-, COFF- eller ELF-format. Det inkluderar kraftfullt men lättanvänt stöd för makroinstruktion och gör flera pass för att optimera storleken på instruktionskoderna. Flat Assembler kan assemblera sig själv och den kompletta källkoden finns inkluderad.