Software update: Nasm 2.07

Assembly, one of the oldest programming languages, 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. The programmers have picked up the development of Nasm again, so that support for x86-64 and sse3, 4.1, 4.2 and 5 has now been added. Version 2.07 of Nasm was released a few days ago with the following list of changes:

Version 2.07:

  • NASM is now under the 2-clause BSD license.
  • Fix the section type for the .strtab section in the elf64 output format.
  • Fix the handling of COMMON directives in the obj output format.
  • New ith and srec output formats; these are variants of the bin output format which output Intel hex and Motorola S-records, respectively.
  • rdf2ihx replaced with an enhanced rdf2bin, which can output binary, COM, Intel hex or Motorola S-records.
  • The Windows installer now puts the NASM directory first in the PATH of the “NASM Shell”.
  • Revert the early expansion behavior of %+ to pre-2.06 behavior: %+ is only expanded late.
  • Yet another Mach-O alignment fix.
  • Don’t delete the list file on errors. Also, include error and warning information in the list file.
  • Support for 64-bit Mach-O output.
  • Fix assert failure on certain operations that involve strings with high-bit bytes.

Version 2.06:

  • This release is dedicated to the memory of Charles A. Crayne, long time NASM developer as well as moderator of comp.lang.asm.x86 and author of the book Serious Assembler. We miss you, Chuck.
  • Support for indirect macro expansion (%[…]).
  • %pop can now take an argument.
  • The argument to %use is no longer macro-expanded. Use%[…] if macro expansion is desired.
  • Support for thread-local storage in ELF32 and ELF64.
  • Fix crash on %ifmacro without an argument.
  • Correct the arguments to the POPCNT instruction.
  • Fix section alignment in the Mach-O format.
  • Update AVX support to version 5 of the Intel specification.
  • Fix the handling of accesses to context-local macros from higher levels in the context stack.
  • Treat WAIT as a prefix rather than as an instruction, thereby allowing constructs like O16 FSAVE to work correctly.
  • Support for structures with a non-zero base offset.
  • Correctly handle preprocessor token concatenation (see section 4.3.7) involving floating-point numbers.
  • The PINSR series of instructions have been corrected and rationalized.
  • Removed AMD SSE5, replaced with the new XOP/FMA4/CVT16 (rev 3.03) spec.
  • The ELF backends no longer automatically generate a .comment section.
  • Add additional “well-known” ELF sections with default attributes.

Version 2.05.01:

  • Fix the -w/-W option parsing, which was broken in NASM 2.05.

Version number 2.07
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
License type Conditions (GNU/BSD/etc.)