What's new in NASM - The Netwide Assembler 2.10

Mar 19, 2012
  • When optimization is enabled, mov r64,imm now optimizes to the shortest form possible

New in NASM - The Netwide Assembler 2.09.01 (Sep 9, 2010)

  • Fix NULL dereference on missed �ftok second parameter.
  • Fix NULL dereference on invalid %substr parameters.

New in NASM - The Netwide Assembler 2.08.02 (Aug 7, 2010)

  • A number of enhancements/fixes in macros area.
  • Support for converting strings to tokens. See section 4.1.9.
  • Fuzzy operand size logic introduced.
  • Fix COFF stack overrun on too long export identifiers.
  • Fix Macho-O alignment bug.
  • Fix crashes with -fwin32 on file with many exports.
  • Fix stack overrun for too long [DEBUG id].
  • Fix incorrect sbyte usage in IMUL (hit only if optimization flag passed).
  • Append ending token for .stabs records in the ELF output format.
  • New NSIS script which uses ModernUI and MultiUser approach.
  • Visual Studio 2008 NASM integration (rules file).
  • Warn a user if a constant is too long (and as result will be stripped).
  • The obsoleted pre-XOP AMD SSE5 instruction set which was never actualized was removed.
  • Fix stack overrun on too long error file name passed from the command line.
  • Bind symbols to the .text section by default (ie in case if SECTION directive was omitted) in the ELF output format.
  • Fix sync points array index wrapping.
  • A few fixes for FMA4 and XOP instruction templates.
  • Add AMD Lightweight Profiling (LWP) instructions.
  • Fix the offset for %arg in 64-bit mode.
  • An undefined local macro (%$) no longer matches a global macro with the same name.
  • Fix NULL dereference on too long local labels.

New in NASM - The Netwide Assembler 2.07 (Jul 20, 2009)

  • NASM is now under the 2-clause BSD license. See section 1.1.2.
  • 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. See section 7.2 and section 7.3.
  • 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, see section 7.8.
  • Fix assert failure on certain operations that involve strings with high-bit bytes.

New in NASM - The Netwide Assembler 2.05.01 (Oct 30, 2008)

  • This release fixes the parsing of the -W/-w (warning enable/disable) option, which was broken in 2.05. It is strictly a patch release.

New in NASM - The Netwide Assembler 2.05 (Oct 24, 2008)

  • This release includes a massive overhaul of the ELF64 backend for spec compliance.
  • It fixes incorrect offsets in RIP-relative addressing in immediate-carrying instructions, bugs in the ALIGN directive, the handling of the %include directive inside macros, and a handful of instructions that had incorrect patterns.

New in NASM - The Netwide Assembler 2.04 (Sep 26, 2008)

  • This is primarily a bugfix release.
  • In particular, it should end once and for all abnormalities introduced by forward references when pass-limited.
  • It does introduce some new features, mostly in the preprocessor.
  • It adds support for packed BCD and UTF-16/UTF-32 constants.
  • It also adds support for "smart" alignment, padding the bypassed region with optimized code.