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 現在應該顯示正確的,更新的版本。