跳轉到內容

x86 彙編

50% developed
來自華夏公益教科書,開放的書籍,開放的世界
(從 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 產品線,但其普及程度不如預期,因此並沒有發生這種取代。

目錄

75% developed  as of Dec 4, 2011 簡介
75% developed  as of Dec 4, 2011 基本常見問題解答

x86 基礎

100% developed  as of Dec 4, 2011 x86 家族
75% developed  as of Dec 4, 2011 x86 架構和暫存器描述
100% developed  as of Dec 4, 2011 註釋
50% developed  as of Dec 4, 2011 16 位、32 位和 64 位
50% developed  as of Dec 4, 2011 固有資料型別

x86 指令集

75% developed  as of Dec 4, 2011 x86 指令
50% developed  as of Dec 4, 2011 資料傳輸指令
50% developed  as of Dec 4, 2011 控制流指令
50% developed  as of Dec 4, 2011 算術指令
25% developed  as of Dec 4, 2011 邏輯指令
50% developed  as of Dec 4, 2011 移位和旋轉指令
50% developed  as of Dec 4, 2011 其他指令
25% developed  as of Dec 4, 2011 x86 中斷

語法和彙編器

75% developed  as of Dec 5, 2011 x86 彙編器
100% developed  as of Dec 4, 2011 GNU 彙編語法 (GAS)
25% developed  as of Dec 4, 2011 MASM 語法
25% developed  as of Dec 4, 2011 HLA 語法
截至 2011 年 12 月 4 日,已開發 50% FASM 語法
截至 2011 年 12 月 4 日,已開發 50% NASM 語法

指令擴充套件

截至 2011 年 12 月 4 日,已開發 50% 指令擴充套件
截至 2011 年 12 月 4 日,已開發 75% 浮點
截至 2011 年 12 月 4 日,已開發 50% MMX
截至 2011 年 12 月 4 日,已開發 75% SSE
截至 2012 年 7 月 28 日,已開發 50% AVX, AVX2, FMA3, FMA4
截至 2011 年 12 月 4 日,已開發 25% 3DNow!

高階 x86

截至 2011 年 12 月 6 日,已開發 50% 高階 x86
截至 2011 年 12 月 6 日,已開發 50% 高階語言
截至 2011 年 12 月 6 日,已開發 75% 機器語言轉換
截至 2011 年 12 月 6 日,已開發 50% 保護模式
截至 2011 年 12 月 6 日,已開發 50% 全域性描述符表
截至 2011 年 12 月 6 日,已開發 50% 高階中斷
截至 2011 年 12 月 6 日,已開發 75% 引導載入程式

x86 晶片組

截至 2011 年 12 月 5 日,已開發 50% x86 晶片組
截至 2011 年 12 月 5 日,已開發 25% 直接記憶體訪問
截至 2012 年 2 月 4 日,已開發 50% 可程式設計中斷控制器
截至 2012 年 2 月 4 日,已開發 50% 可程式設計間隔計時器
截至 2011 年 12 月 5 日,已開發 25% 可程式設計並行介面

嵌入和互操作性

截至 2012 年 7 月 25 日,已開發 50% 與 WinAPI 介面 (直接與作業系統通訊 來自上面的文章 GNU 彙編語法 (GAS))
75% 已開發 截至 2012 年 7 月 25 日 與 Linux 互動
75% 已開發 截至 2012 年 7 月 25 日 呼叫約定(來自嵌入式系統書籍)
75% 已開發 截至 2012 年 7 月 25 日 呼叫約定(來自x86 反彙編書籍)
25% 已開發 截至 2012 年 7 月 25 日 使用 CDECL 與 C 標準庫和自己的靜態庫互動
25% 已開發 截至 2012 年 7 月 25 日 內聯彙編器(嵌入式系統書籍)
50% 已開發 截至 2012 年 7 月 25 日 連結彙編器(嵌入式系統書籍)

資源

75% 已開發 截至 2011 年 12 月 5 日 資源
華夏公益教科書