Flat Assembler

fasm·fasm.fasm

An assembler for x86 processors.

The flat assembler (abbreviated to fasm, intentionally stylized with lowercase letters) is a fast assembler running in a variety of operating systems, in continued development since 1999. It was designed primarily for the assembly of x86 instructions and it supports x86 and x86-64 instructions sets with extensions like MMX, 3DNow!, SSE up to SSE4, AVX, AVX2, XOP, and AVX-512. It can produce output in plain binary, MZ, PE, COFF or ELF format. It includes a powerful but simple macroinstruction system and does multiple passes to optimize the size of instruction codes. The flat assembler is self-hosting and complete source code is included. The only difference between flat assembler versions included in the following packages is the operating system on which they can be run. For any given source text each version is going to generate exactly the same output file, therefore every one of the following releases can be used to compile programs for any operating system.

winget install --id fasm.fasm --exact --source winget

Latest 1.73.32·May 22, 2025

Installer type: zip

ArchitectureScopeDownloadSHA256
x64Downloadd8fe204aab01046ffab3651ef9ff6f1ab72ea907cc2ab2b34fefd774e5814948
x86Downloadd8fe204aab01046ffab3651ef9ff6f1ab72ea907cc2ab2b34fefd774e5814948

Details

Homepage
https://flatassembler.net/
License
Simplified BSD
Publisher
fasm
Support
https://board.flatassembler.net/
Copyright
Copyright (c) 1999-2023, Tomasz Grysztar.
Moniker
fasm

Older versions (1)

1.73.30
ArchitectureScopeDownloadSHA256
x64Download0570454A4F93BAF68BAB4AD2A7A5E25EB86F1DF62FA57DD6942842426C94286A
x86Download0570454A4F93BAF68BAB4AD2A7A5E25EB86F1DF62FA57DD6942842426C94286A