NASM是一种80x86和x86-64汇编程序,旨在实现可移植性和模块化。它支持一系列对象文件格式,包括Linux和BSD"a.out"、ELF、Mach-O、16位和32位".obj"(OMF)格式、COFF(包括其Win32和Win64变体)。它还可以输出纯二进制文件、Intel hex和Motorola S-Record格式。它的语法设计简单易懂,与“英特尔软件开发人员手册”中的语法相似,但复杂度最低。它支持所有当前已知的x86体系结构扩展,并且对宏有很强的支持。