Assembly is een van de oudste programmeertalen, die tegenwoordig vaak wordt gebruikt voor het optimaliseren van toepassingen. Nasm kan assembly omzetten naar verschillende binaire objectformaten zoals elf, coff, Mach-O, win32 en win64. De programmeurs hebben in de tweede helft van 2007 de ontwikkeling van Nasm in goede moed opgepakt waardoor ondersteuning voor x86-64 en sse3, 4.1, 4.2 en 5 niet meer ontbreken. De ontwikkelaars hebben zojuist versie 2.03 uitgebracht voorzien van de volgende lijst met aanpassingen:
Version 2.03:
- Add support for Intel AVX, CLMUL and FMA instructions, including YMM registers.
- "dy", "resy" and "yword" for 32-byte operands.
- Fix some SSE5 instructions.
- Intel INVEPT, INVVPID and MOVBE instructions.
- Fix checking for critical expressions when the optimizer is enabled.
- Support the DWARF debugging format for ELF targets.
- Fix optimizations of signed bytes.
- Fix operation on bigendian machines.
- Fix buffer overflow in the preprocessor.
- SAFESEH support for Win32, IMAGEREL for Win64 (SEH).
- %? and %?? to refer to the name of a macro itself. In particular, "%idefine keyword $%?" can be used to make a keyword "disappear".
- New options for dependency generation: -MD, -MF, -MP, -MT, -MQ.
- New preprocessor directives %pathsearch and %depend; INCBIN reimplemented as a macro.
- %include now resolves macros in a sane manner.
- %substr can now be used to get other than one-character substrings.
- New type of character/string constants, using backquotes (`...`), which support C-style escape sequences.
- %defstr and %idefstr to stringize macro definitions before creation.
- Fix forward references used in EQU statements.