The flat assembler is a fast and efficient self-assembling 80x86 assembler for DOS, Windows, and Linux operating systems. It supports all 8086-80486/Pentium instructions with MMX, SSE, SSE2, SSE3, and 3DNow! extensions and x86-64 (both AMD64 and EM64T) instructions. It can produce output in binary, MZ, PE, COFF, or ELF format. It includes the powerful but easy-to-use macroinstruction support, and does multiple passes to optimize the instruction codes for size. The flat assembler is entirely written in assembly language.
| Tags | Software Development Assemblers Compilers Utilities Other/Nonlisted Topic education |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | Windows MS-DOS POSIX Linux BSD Windows Windows |
| Implementation | Assembly |
Recent releases


Changes: Full support for SSE4, SVM, and SMX instruction set extensions has been added. Ability to generate Portable Executable files for UEFI has been introduced. Several other smaller additions and fixes concluding the 1.67.x development line were included in this milestone release.


Changes: The optional output of symbolic information was added, and the tools that allow you to extract data from this file and show it in a human-readable form are provided. Several minor fixes and enhancements were applied at the same time.


Changes: 32-bit relocations are now allowed in PE64 output format. EIP-relative addressing was added. The PLT operator was added for the ELF output format. SSSE3 (Supplemental SSE3) instructions were added. Some Win64 headers and examples were provided in the Windows package. The SYSRETQ mnemonic was added, and RDMSRQ/WRMSRQ/SYSEXITQ mnemonics were added for the 64-bit variants of respective instructions. R8L-R15L (Intel-style) aliases were added for R8B-R15B registers. Support for the AMD SVM technology instructions was added. Numerous bugs were fixed.


Changes: Support was added for outputting the 32-bit address relocations in case of 64-bit object formats. The PE formatter now automatically detects whether code and data addresses should be relocatable. The instructions of the SVM extension of the AMD architecture have been implemented.


Changes: This release adds GOT support for the ELF object output and the new DEFINE directive as a slightly different alternative form of EQU. A lot of small fixes and improvements have been made.
A tool for business process modeling, data modeling, and UML modeling.
- All comments
Recent commentsRe: Wrong license selected.
Thanks. I've updated the listing.
Wrong license selected.
On the behalf of the author ( Tomasz Grysztar, aka Privalov) I'd like to say that you have selected the wrong license(s) for fasm.
The license for fasm is the BSD license ("OSI Approved :: BSD License (revised)"), not "Freeware" nor "GNU GPL".
Please, correct the misstake as soon as possible, and if you have any questions or doubts, please visit http://board.flatassembler.net (the official support site) and ask Privalov him self or post an thread.
Best Regards
Scientica