Der Netwide Assembler, NASM ist ein 80x86 sowie x86-64 Assembler, entwickelt mit Augenmerk auf Portabilität und Modularität. Er kann mit einer Reihe von Objekt-Formaten umgehen, wie z.B. Linux und BSD a.out, ELF, COFF, Macho-O, 16/32Bit OBJ (OMF), Win32 und Win64. Er kann auch einfache Binärdateien ausgeben, Intel Hex und Motorola S-Rec. Die Syntax wurde entwickelt im Hinblick auf Einfachheit und einfaches Verstehen, ähnlich der Syntax, die das Intel Software Developer Manual benutzt. Er unterstützt alle zur Zeit bekannten x86-Extensions und hat guten Macro-Support.