Software Update: Yasm 1.0.0

Assembly, one of the oldest programming languages, is often used today for optimizing applications. Yasm once started as a counterpart to Nasm, but then released under the BSD license. It should be noted that Nasm has also been released under this license since version 2.07 from 2009. The program can convert assembly code into various binary object formats such as elf, coff, Mach-O, win32, and win64. The programmers recently released version 1.0.0 of Yasm with the following description:

Target Audience:

Welcome to the 1.0.0 release of the Yasm Modular Assembler. Its target audience includes people who want to:

  • 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;
  • have assembly source-level debugging using either DWARF2 or CodeView 8.0 (Visual Studio 2005 and later);
  • have a free software assembler that supports Win32/Win64 structured exception handling (SEH) and ELF32/ELF64 thread local storage (TLS);
  • target the latest AMD XOP/FMA4/CVT16 or Intel AVX instruction sets;
  • have a free assembler highly integrated into the Visual Studio 2010 IDE;
  • keep track of Yasm’s progress in terms of stability and feature set;
  • to Yasm development from contribute a new release.

Changes from 0.8.0 to 1.0.0:

  • Add GAS preprocessor (fixes #79, contributed by Alexei Svitkine).
  • Add Visual Studio 2010 special frontend, vsyasm (suggested by Brian Gladman).
  • Add support for AMD XOP, FMA4, and CVT16 instructions (replacing SSE5).
  • Add support for %scope and %endscope NASM macros (contributed by Mathieu Monnier).
  • Add support for %{x:y} parameter list expansion in NASM preprocessor (contributed by Mathieu Monnier).
  • Fix _GLOBAL_OFFSET_TABLE_ (reported by Mark Charney, Intel).
  • Add support for ELF64 PC-relative relocations and latest ELF32 relocation types.
  • Add support for ELF tlsdesc, tlscall, pltoff, gotplt, gotoff special symbols.
  • NASM preprocessor license has been changed to 2-clause BSD.
  • Various bug fixes in TASM syntax support.
  • Many other bug fixes (including #173, #175, #177, #178, #184, #185, #186, #187, #188, #189, #190, #191, #193, #198).

Version number 1.0.0
Release status Final
Operating systems Windows 7, Windows 2000, Linux, BSD, Windows XP, DOS, macOS, OS/2, Windows Vista
Website Yasm
License type Conditions (GNU/BSD/etc.)