Yasm 1.3.0

A complete rewrite of NASM so it can support multiple NASM, TASM and GAS syntaxes
Briefly described in only three words, Yasm is a modular assembler project, but it is actually a complete rewrite of the Netwide Assembler project, designed from the ground up to to support multiple instruction sets (x86 and amd64 at the moment), accept both GAS and NASM syntaxes, as well as to output binary, ELF64, ELF32, Mach-O 32/64-bit, COFF, RDOFF2 and Windows 32/64-bit object formats.

User visible features

User visible features include full-featured parsing and lexing of the NASM and GAS syntaxes, initial support for the TASM syntax, support for 64-bit integer constants, internationalization support using gettext, a simple 2-pass optimizer, and support for 64-bit (amd64) instruction set architectures, which can be enabled using the  “-m amd64” option or by selecting an explicit 64-bit object format output.

It allows for 64-bit and higher integer constants, including math operations, support a wide range of object formats, including COFF, Binary, RDOFF2, ELF32, ELF64, Win32, Win64, as well as 64-bit and 32-bit Mach-O object file outputs. In addition, it supports the CodeView, DWARF2 and STABS debugging formats, runs on UNIX and Linux operating systems, as well as Microsoft Windows and DOS.

Internal features

Internal features include a GAS and NASM syntax lexers that are written with the re2c tool, recursive-descent parser functionality for both the GAS and NASM syntaxes, architecture-specific instruction parsers, a tiny collection of portable and useful functions, such as strdup, mergesort and strcasecmp, as well as a standard set of assembler test input files.

Under the hood and availability

The project is available for download only as a source archive, which forces the user to manually configure and compile the program prior to installation. The best part of a source archive is that it can be installed on any GNU/Linux operating system, as opposed to pre-built binary packages that are designed for a certain type of distribution.

Reviewed by on September 10th, 2014

last updated on:
September 10th, 2014, 11:33 GMT
developed by:
Peter Johnson
license type:
BSD License 
ROOT \ Programming \ Assembler Tools


In a hurry? Add it to your Download Basket!

softpedia rating


user rating 29



1 Screenshot
Yasm - The output of the 'yasm --help' command, as viewed from the Linux terminal
What's New in version 0.8.0
  • use a mature NASM-syntax x86 and AMD64 assembler that can target Win32, Win64, MacOS X, and Unix derivatives;
  • use a GAS-syntax assembler other than GAS;
  • try out the new TASM-like syntax or frontend;
  • have assembly source-level debugging using either DWARF2 or CodeView? 8.0 (VS 2005);
read full changelog

Application description

Yasm is an open source command-line software that provides an alternate NASM assembler utility, which supports multipl...

Add your review!