x86 彙編
外觀
(從 X86 重定向)
本書涵蓋 x86 微處理器家族的組合語言程式設計。其目標是教授如何使用 x86 組合語言進行程式設計,以及 x86 處理器家族的歷史和基本架構。
當提到 x86 時,我們指的是所有基於 x86 的處理器(自 1978 年原始的 Intel 8086 以來)。這包括
- IA-32 彙編,也常被稱為 x86-32 彙編(Intel 架構 32 位,自 Intel 80386 以來),是原始 16 位 Intel x86 處理器架構的 32 位擴充套件(用於 Intel 8086 - 80286 CPU)。IA-32 與 16 位 x86 完全向後相容。
- x86-64,也稱為 AMD64 或 AMD 64 位擴充套件,與 32 位程式碼向後相容,不會造成效能損失。
- Intel 64,以前稱為 IA-32e 或 EM64T,與 x86-64 幾乎相同。
在整本書中,這些術語在適當的時候可以互換使用。在涵蓋 16 位、32 位或 64 位架構以及任何限制時,會給出特殊說明,以減少混淆。
請注意,還有一個單獨的 64 位指令集,即 IA-64 (Itanium)。它原本打算取代 x86 產品線,但其普及程度不如預期,因此並沒有發生這種取代。
目錄
x86 基礎
x86 指令集
語法和彙編器
指令擴充套件
高階 x86
x86 晶片組
嵌入和互操作性
- 與 WinAPI 介面 (直接與作業系統通訊 來自上面的文章 GNU 彙編語法 (GAS))
- 與 Linux 互動
- 呼叫約定(來自嵌入式系統書籍)
- 呼叫約定(來自x86 反彙編書籍)
- 使用 CDECL 與 C 標準庫和自己的靜態庫互動
- 內聯彙編器(嵌入式系統書籍)
- 連結彙編器(嵌入式系統書籍)