Target Audience

Welcome to the second release candidate for the fifth milestone release of the Yasm Modular Assembler. The purpose of this release is to shake down what bugs we can find prior to the 0.5.0 release, as there have been some significant new features added since the previous release. Its target audience includes people who:


New features in this release candidate (compared to 0.5.0rc1):

New features in this release candidate (compared to 0.4.0):

Features available in previous version of Yasm include:

Important Differences from NASM

Known Issues

As Yasm is still under development, there are some caveats and features that do not yet work or are not yet fully functional. The following are the known issues at the time of release:

Download Yasm 0.5.0rc2

A number of download forms are available. For Windows and DOS users, we recommend downloading the prebuilt binaries. The source tarball contains all sources needed to build Yasm on UNIX-compatible systems, Windows, and DOS.

Compiling Yasm from source

On UNIX-compatible operating systems, Yasm builds using the standard “./configure; make; make install” commands. GNU make is not required. While Yasm development requires a larger toolchain (see the HACKING file), building Yasm should not require more than just a C compiler.

For Windows and DOS systems, we recommend simply downloading the prebuilt executables. However, for those that want to build YASM directly using DJGPP, CygWin, or Visual C++, Makefiles and all required specialized files are provided in the Mkfiles/ directory of the distribution tarball.

Running Yasm

Version Information:

yasm --version

Command Line Option Help:

yasm --help

Assemble test.asm to Win32 object file test.obj with CodeView 8.0 (VS2005) source debug info:

yasm -f win32 -g cv8 test.asm

Assemble test2.asm to Win64 object file test.obj with CodeView 8.0 source debug info:

yasm -f win64 -g cv8 test2.asm

Assemble test3.asm to AMD64 ELF object file test3.o with DWARF2 debugging information:

yasm -f elf64 -g dwarf2 test3.asm

Alternative to above:

yasm -f elf -m amd64 -g dwarf2 test3.asm

Assemble test4.s to 32-bit x86 ELF object file testo.o with DWARF2 debugging information:

yasm -f elf32 -g dwarf2 -o testo.o test4.asm