Yasm

From Wikipedia, the free encyclopedia

Yasm is a software program that attempts to be a complete rewrite of the NASM assembler. It is licensed under a revision of the BSD license, and it's currently developed by Peter Johnson and Michael Urman.

Contents

[edit] Supported Architectures

[edit] Naming

The name Yasm has several possible meanings, particularly in acronym form, and mostly tongue-in-cheek. Examples of which are the following:

  • Yes, it's an ASseMbler
  • Your fAvorite aSseMbler
  • Yet Another aSseMbler
  • whY An aSseMbler

[edit] Usage

For many intents and purposes, Yasm can be used interchangeably with Nasm with consistent results.

[edit] Advantages of Yasm over Nasm

Yasm offers x86_64 support that Nasm may not properly support or may lack completely. For instance, the Xvid project can create optimized machine code for x86_64 architectures using Yasm but cannot do so using Nasm. However, support for the x64_64 architecture extension is currently being developed for inclusion in the next release of Nasm.

Being a more dynamic project, Yasm offers more direct support for users and input from those seeking new features.

[edit] Disadvantages of Yasm over Nasm

Nasm has been heavily used and debugged and therefore is more consistent from program to program. While Yasm is an active project, it may not have been as thoroughly debugged as Nasm.

Due to the rich development involved with Nasm, documentation is expected to be more complete.

[edit] See also

[edit] External links

In other languages