Netwide Assembler (简称 NASM)是一款基于x86架构的
汇编与
反汇编软件。它可以用来编写16位(
8086、
80286等)、32位(
IA-32)和64位(
x86_64)的程序。 NASM被认为是
Linux平台上最受欢迎的汇编工具之一。
NASM可以输出包括
通用对象文件格式(
COFF)、OMF(Relocatable Object Module Format,用于80x86系列处理器上)、a.out、
可执行与可链接格式(
ELF)、
Mach-O、
二进制文件(.
bin,二进制磁盘映像,用于编译操作系统)等多种二进制格式,而
地址无关代码仅支持ELF对象文件。 NASM也有自己的称为RDOFF(Relocatable Dynamic Object File Format)的二进制格式。
输出格式的广泛性允许将程序重定向到任何x86架构的操作系统。 此外,NASM可以创建浮动二进制文件,它可用于写入引导加载程序、
只读存储器(
ROM)映像以及操作系统开发的各个方面。NASM可以作为交叉汇编程序在非x86架构(如
PowerPC和
SPARC)上运行,尽管它不能生成这些架构的处理器可用的程序。