In computing, Yasm is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. Yasm is a full rewrite of Netwide Assembler (NASM). Yasm can generally be used interchangeably with NASM and supports the x86 and x86-64 architectures. It is licensed under a revision of the BSD licenses. As of 2011 it was developed by Peter Johnson and Michael Urman.
Comparison to NASM
- It can assemble input with both Intel and AT&T (as) syntax;
- Library interface for compiler developers.
- Due to the rich development involved with NASM, documentation is expected to be more complete;
- Yasm lacks Relocatable Object Module Format (OMF) object support.