x86 汇编语言

x86 汇编语言系列代表了原始 Intel 8086 架构数十年的进步。除了基于所使用的汇编程序的几种不同的方言之外,多年来还增加了额外的处理器指令,寄存器和其他功能,同时仍然向后兼容 20 世纪 80 年代使用的 16 位汇编。

使用 x86 程序集的第一步是确定目标是什么。例如,如果你要在操作系统中编写代码,则需要另外确定是选择使用独立汇编程序还是使用更高级语言(如 C)的内置内联汇编功能。如果你希望在没有操作系统的情况下编写裸机代码,你只需安装你选择的汇编程序,并了解如何创建可以转换为闪存,可引导映像或以其他方式加载到内存中的二进制代码。适当的位置开始执行。

在许多平台上得到很好支持的非常受欢迎的汇编程序是 NASM(Netwide Assembler),它可以从 http://nasm.us/ 获得。在 NASM 站点上,你可以继续为你的平台下载最新版本。

Windows

32 位和 64 位版本的 NASM 都可用于 Windows。NASM 附带了一个方便的安装程序,可以在 Windows 主机上使用以自动安装汇编程序。

Linux

很可能 NASM 已经安装在你的 Linux 版本上。要检查,执行:

nasm -v

如果找不到该命令,则需要执行安装。除非你正在做一些需要前沿 NASM 功能的事情,否则最好的方法是使用内置的软件包管理工具来安装 NASM。例如,在 Debian 派生的系统(如 Ubuntu 等)下,从命令提示符执行以下命令:

sudo apt-get install nasm

对于基于 RPM 的系统,你可以尝试:

sudo yum install nasm

Mac OS X.

OS X 的最新版本(包括 Yosemite 和 El Capitan)预装了旧版本的 NASM。例如,El Capitan 已安装版本 0.98.40。虽然这可能适用于几乎所有正常目的,但它实际上已经很老了。在撰写本文时,NASM 版本 2.11 发布,2.12 有许多候选版本可用。

你可以从上面的链接获取 NASM 源代码,但除非你特别需要从源代码安装,否则从 OS X 版本目录下载二进制包并将其解压缩要简单得多。

解压缩后,强烈建议你不要覆盖系统安装的 NASM 版本。相反,你可以将其安装到/ usr / local 中:

 $ sudo su
 <user's password entered to become root>
 # cd /usr/local/bin
 # cp <path/to/unzipped/nasm/files/nasm> ./
 # exit

在这一点上,NASM 在/usr/local/bin,但它不在你的道路上。你现在应该将以下行添加到配置文件的末尾:

 $ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile

这会将/usr/local/bin 添加到你的路径中。在命令提示符下执行 nasm -v 现在应该显示正确的,更新的版本。