Projects / Flat Assembler

Flat Assembler

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
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  14 Jun 2009 08:10

    Release Notes: 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.

    •  15 Nov 2008 21:47

    Release Notes: 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.

    •  19 Mar 2007 22:27

    Release Notes: 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.

    •  01 Jul 2006 14:15

    Release Notes: 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.

    •  07 May 2006 07:57

    Release Notes: 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.

    RSS Recent comments

    18 Jan 2004 07:06 jeffcovey

    Re: Wrong license selected.
    Thanks. I've updated the listing.

    16 Jan 2004 13:22 scientica Thumbs up

    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 board.flatassembler.net (the official support site) and ask Privalov him self or post an thread.

    Best Regards
    Scientica

    Screenshot

    Project Spotlight

    Vrapper

    An Eclipse plugin which provides a Vim-like input scheme for text editors.

    Screenshot

    Project Spotlight

    Python bsddb3

    Python bindings for Oracle Berkeley DB.