Download Nasm 2.04

Spread the love

Assembly is one of the oldest programming languages, which is often used today for optimizing applications. Nasm can convert assembly code to various binary object formats such as elf, coff, Mach-O, win32, and win64. Some time ago, the programmers resumed development of Nasm, which means that support for x86-64 and sse3, 4.1, 4.2 and 5 has been added. A few days ago, version 2.04 of Nasm was released with the following list of changes:

Version 2.04:

  • Sanitize macro handing in the `%error’ directive.
  • New `%warning’ directive to issue user-controlled warnings
  • `%error’ directives are now deferred to the final assembly phase.
  • New `%fatal’ directive to immediately terminate assembly.
  • New `%strcat’ directive to join quoted strings together.
  • New `%use’ macro directive to support standard macro directives.
  • Excess default parameters to `%macro’ now issues a warning by default.
  • Fix `%ifn’ and `%elifn’.
  • Fix nested `%else’ clauses.
  • Correct the handling of nested `%rep’s.
  • New `%unmacro’ directive to undeclare a multi-line macro.
  • Builtin macro `__PASS__’ which expands to the current assembly pass.
  • `__utf16__’ and `__utf32__’ operators to generate UTF-16 and UTF-32 strings.
  • Fix bug in case-insensitive matching when compiled on platforms that don’t use the `configure’ script. Of the official release binaries, that only affected the OS/2 binary.
  • Support for x87 packed BCD constants.
  • Correct the `LTR’ and `SLDT’ instructions in 64-bit mode.
  • Fix unnecessary REX.W prefix on indirect jumps in 64-bit mode.
  • Add AVX versions of the AES instructions (`VAES’…).
  • Fix the 256-bit FMA instructions.
  • Add 256-bit AVX stores per the latest AVX spec.
  • VIA XCRYPT instructions can now be written either with or without `REP’, apparently different versions of the VIA spec wrote them differently.
  • Add missing 64-bit `MOVNTI’ instruction.
  • Fix the operand size of `VMREAD’ and `VMWRITE’.
  • Numerous bug fixes, especially to the AES, AVX and VTX instructions.
  • The optimizer now always runs until it converges. It also runs even when disabled, but doesn’t optimize. This allows most forward references to be resolved properly.

Version number 2.04
Release status Final
Operating systems Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, DOS, macOS, OS/2, Windows Vista
Website The Netwide Assembler
Download
License type GPL
You might also like