Le Netwide Assembler ou NASM est un assembleur 80x86 et x86-64 conçu pour la portabilité et la modularité. Il prend en charge toute une gamme de formats de fichiers objets, notamment Linux et *BSD a.out, ELF, COFF, Mach-O, le format OBJ (OMF) 16 bits et 32 bits, Win32 et Win64. Il produira également des fichiers binaires ordinaires et aux formats Intel hex et Motorola S-Record. Sa syntaxe est conçue pour être simple et facile à comprendre, similaire à la syntaxe du Manuel du développeur de logiciels Intel avec une complexité minimale. Il prend en charge toutes les extensions architecturales x86 connues et et comprend une prise en charge étendue des macros.