此條
目 め 介 かい 紹的
是 ぜ CPU
指令 しれい 集 しゅう 架 か 構。关于x86
的 てき 32
位 い 元 もと 架 か 構(
常 つね 被 ひ 稱 しょう 為 ため i386、x86),请见「
IA-32 」。关于
基 もと 於x86
的 てき 64
位 い 元 もと 處理 しょり 器 き (x64)
架 か 構(
向 こう 前 まえ 相 しょう 容 よう 於16
位 い 及32
位 い 的 てき x86
架 か 構,
常 つね 稱 しょう AMD64
或 ある Intel 64),请见「
x86-64 」。
x86 推出年 ねん 份 1978年 ねん (16位 い 元 もと )、1985年 ねん (32位 い 元 もと )、2003年 ねん (64位 い 元 もと ) 設計 せっけい 公司 こうし Intel 、AMD 是 ぜ 否 ひ 開放 かいほう 架 か 構?部分 ぶぶん 字 じ 長 ちょう /暫存器 き 資料 しりょう 寬 ひろし 度 たび 32、64、128 位 い 元 もと 組 ぐみ 序 じょ 小 しょう 端 はし 序 じょ 指令 しれい 集 しゅう 架 か 構設計 けい 策略 さくりゃく CISC
x86 泛指一 いち 系列 けいれつ 基 もと 于Intel 8086且向后 きさき 兼 けん 容 よう 的 てき 中央 ちゅうおう 处理器 き 指令 しれい 集 しゅう 架 か 构。最早 もはや 的 てき 8086处理器 き 于1978年 ねん 由 ゆかり Intel推出,为16位 い 微 ほろ 处理器 き 。
該系列 けいれつ 較早期 き 的 てき 處理 しょり 器 き 名稱 めいしょう 是 ぜ 以數字 すうじ 來 らい 表示 ひょうじ 80x86 。由 よし 於以“86”作為 さくい 結尾 けつび ,包括 ほうかつ Intel 8086 、80186 、80286 、80386 以及80486 ,因 いん 此其架 か 構被稱 しょう 為 ため “x86”。由 よし 於數字 すうじ 並 なみ 不能 ふのう 作為 さくい 註冊商標 しょうひょう ,因 いん 此Intel及其競爭 きょうそう 者 しゃ 均 ひとし 在 ざい 新 しん 一代處理器使用可註冊的名稱,如Pentium ,來 らい 描述x86架 か 構下的 てき 處理 しょり 器 き 產品 さんぴん 。現時 げんじ 英 えい 特 とく 爾 しか 將 はた 其稱為 ため IA-32 ,全 ぜん 名 めい 為 ため “I ntel A rchitecture, 32 -bit”,一般情形下指代32位 い 元 もと 的 てき 架 か 構。
x86架 か 構於1978年 ねん 推出的 てき Intel 8086 中央 ちゅうおう 處理 しょり 器 き 中 ちゅう 首 くび 度 ど 出現 しゅつげん ,它是從 したがえ Intel 8008 處理 しょり 器 き 中 ちゅう 發展 はってん 而來的 てき ,而8008則 のり 是 ぜ 發展 はってん 自 じ Intel 4004 的 てき 。8086在 ざい 三 さん 年 ねん 後 ご 為 ため IBM PC 所 ところ 選 せん 用 よう ,之 これ 後 ご x86便 びん 成 なり 為 ため 了 りょう 個人 こじん 電腦 でんのう 的 てき 標準 ひょうじゅん 平台 ひらだい ,成 なり 為 ため 了 りょう 歷 れき 來 らい 最 さい 成功 せいこう 的 てき CPU架 か 構。
其他公司 こうし 也有 やゆう 製造 せいぞう x86架 か 構的處理 しょり 器 き ,計 けい 有 ゆう Cyrix (現 げん 為 ため 威 い 盛 もり 電子 でんし 所收 しょしゅう 購)、NEC集團 しゅうだん 、IBM 、IDT 以及Transmeta 。Intel以外 いがい 最 さい 成功 せいこう 的 てき 製造 せいぞう 商 しょう 為 ため AMD ,其早先 さき 产品Athlon 系列 けいれつ 處理 しょり 器 き 的 てき 市場 いちば 份額僅次於Intel Pentium 。
8086是 ぜ 16位 い 元 もと 處理 しょり 器 き ;直 ちょく 到 いた 1985年 ねん 32位 い 元 もと 的 てき 80386 的 てき 開發 かいはつ ,這個架 か 構都維持 いじ 是 ぜ 16位 い 元 もと 。接 せっ 著 ちょ 一系列的處理器表示了32位 い 元 もと 架 か 構的細微 さいび 改 あらため 進 すすむ ,推出了 りょう 數 すう 種 しゅ 的 てき 擴充 かくじゅう ,直 ちょく 到 いた 2003年 ねん AMD 對 たい 於這個 こ 架 か 構發展 はってん 了 りょう 64位 い 元 もと 的 てき 擴充 かくじゅう ,并命名 めいめい 为AMD64 。後來 こうらい 英 えい 特 とく 爾 なんじ 也推出 で 了 りょう 與 あずか 之 これ 兼 けん 容 よう 的 てき 處理 しょり 器 き ,並 なみ 命名 めいめい 為 ため Intel 64 。兩者 りょうしゃ 一般被統稱為x86-64 或 ある x64 ,开创了 りょう x86的 てき 64位 い 时代。
值得注意 ちゅうい 的 てき 是 ぜ 英 えい 特 とく 爾 しか 早 はや 在 ざい 1990年代 ねんだい 就与惠 めぐみ 普 ひろし 合作 がっさく 提出 ていしゅつ 了 りょう 一 いち 种用在 ざい 安 やす 腾系列 けいれつ 处理器 き 中 ちゅう 的 てき 独立 どくりつ 的 てき 64位 い 架 か 构,这种架 か 构被称 しょう 为IA-64 。IA-64是 ぜ 一种崭新的系统,和 わ x86架 か 構完全 ぜん 没 ぼつ 有 ゆう 相似 そうじ 性 せい ;不 ふ 應 おう 該把它与x86-64 或 ある x64 弄 ろう 混 こん 。
CPU紀元 きげん 朝代 あさよ
面 めん 市 し 時間 じかん (西元 にしもと 年 みのる )
卓越 たくえつ 的 てき CPU型 がた 號 ごう
記憶 きおく 體 たい 位置 いち 找尋空間 くうかん
引入功 こう 能 のう 及註釋 ちゅうしゃく
序列 じょれつ
模擬 もぎ
實體 じったい
x86
第 だい 一 いち 代 だい
1978
Intel 8086 , Intel 8088 (1979)
16位 い 元 もと
無 む
20位 い 元 もと
16位 い 元 もと 架 か 構 , IBM PC (8088), IBM PC/XT (8088)
1982
Intel 80186 , Intel 80188 NEC V20 /V30(1983)
8086-2架 か 構, 嵌入 かんにゅう 技術 ぎじゅつ (80186/80188)
第 だい 二 に 代 だい
Intel 80286 及其克 かつ 隆 たかし 產品 さんぴん
30位 い 元 もと
24位 い 元 もと
保護 ほご 模 も 式 しき (16位 い 元 もと ), IBM PC XT 286 , IBM PC AT
第 だい 三 さん 代 だい (IA-32 )架 か 構
1985
Intel 80386 , AMD Am386 (1991)
32位 い 元 もと
46位 い 元 もと
32位 い 元 もと
32位 い 元 もと 架 か 構 (保護 ほご 模 も 式 しき ), 分 ぶん 頁 ぺーじ 技術 ぎじゅつ ,模擬 もぎ 8086模 も 式 しき , IBM PS/2
第 だい 四 よん 代 だい (管 かん 線 せん 、快 かい 取 と 記憶 きおく 體 たい )
1989
Intel 80486 Cyrix Cx486S /D LC(1992) AMD Am486 (1993)/AMD Am5x86 (1995)
管 かん 線 せん , 置 おけ 晶 あきら x87 浮點運算 うんざん 器 き (486DX), 置 おけ 晶 あきら CPU快 かい 取 と 記憶 きおく 體 たい
第 だい 五 ご 代 だい (超 ちょう 純量 じゅんりょう )
1993
Intel Pentium , Pentium MMX (1996)
超 ちょう 純量 じゅんりょう , 64位 い 元 もと 位 い 址 し 匯流排 はい , 更 さら 快 かい 的 てき 浮點運算 うんざん 器 き , MMX (Pentium MMX), 進 すすむ 階 かい 程 ほど 式 しき 化 か 插斷控 ひかえ 制 せい 器 き , 對等 たいとう 多元 たげん 處理 しょり
1994
NexGen Nx586 AMD 5k86 /K5 (1996)
分合 ぶんごう 式微 しきび 架 か 構(微 ほろ 作業 さぎょう 指令 しれい 轉換 てんかん )
1995
Cyrix Cx5x86 Cyrix 6x86 /MX(1997)/MII (1998)
脫 だつ 序 じょ 超 ちょう 純量 じゅんりょう 執行 しっこう 引擎
第 だい 六 ろく 代 だい (實 じつ 記憶 きおく 體 たい 位置 いち 擴充 かくじゅう , 微 ほろ 作業 さぎょう 指令 しれい 轉換 てんかん )
1995
Intel Pentium Pro
36位 い 元 もと (PAE )
微 ほろ 作業 さぎょう 指令 しれい 轉換 てんかん , 待 まち 情 じょう 形 がた 檢索 けんさく 指令 しれい , 脫 だつ 序 じょ 超 ちょう 純量 じゅんりょう 執行 しっこう 引擎, 推理 すいり 型 がた 執行 しっこう 引擎, 三 さん 路 ろ x86超 ちょう 純量 じゅんりょう 管 かん 線 せん , 超 ちょう 純量 じゅんりょう 浮點運算 うんざん 器 き , 實 じつ 記憶 きおく 體 たい 位置 いち 擴充 かくじゅう , 置 おけ 片 かた 二 に 次元 じげん 快 かい 取 と
1997
Intel Pentium II , Pentium III (1999)Celeron (1998), Xeon (1998)
置 おけ 體 たい (Pentium II)或 ある 置 おけ 晶 あきら (Celeron)二 に 次元 じげん 快 かい 取 と , SSE (Pentium III), SLOT 1 , Socket 370 or SLOT 2 (Xeon)
1997
AMD K6 /K6-2 (1998)/K6-III (1999)
32位 い 元 もと
3DNow! , 三 さん 次元 じげん 快 かい 取 と 系統 けいとう (K6-III)
增強 ぞうきょう 型 がた 平台 ひらだい
1999
AMD Athlon , Athlon XP /MP (2001)Duron (2000), Sempron (2004)
36位 い 元 もと
MMX+, 3DNow!+, DDR技術 ぎじゅつ 引入前 ぜん 端 はし 匯流排 はい , Slot A or Socket A
2000
Transmeta Crusoe
32位 い 元 もと
「變形 へんけい 」CMS 技術 ぎじゅつ 下 か 的 てき x86平台 ひらだい 處理 しょり 器 き , VLIW -128核心 かくしん , 置 おけ 晶 あきら 記憶 きおく 體 たい 控 ひかえ 制 せい 器 き , 置 おけ 晶 あきら PCI橋 きょう 控 ひかえ 制 せい 器 き
Intel Pentium 4
36位 い 元 もと
SSE2 , 超 ちょう 執行 しっこう 緒 いとぐち (Northwood), NetBurst微 ほろ 架 か 構, QDR技術 ぎじゅつ 引入前 ぜん 端 はし 匯流排 はい , 執行 しっこう 跟蹤快 かい 取 と , Socket 478
2003
Intel Pentium M Intel Core (2006), Pentium Dual-Core (2007)
微 ほろ 作業 さぎょう 指令 しれい 融合 ゆうごう , NX位 い 元 もと (Dothan)
Transmeta Efficeon
CMS 6.0.4, VLIW -256, NX位 い 元 もと , HT匯流排 はい
IA-64
64位 い 元 もと 過渡 かと 時代 じだい 1999 ~ 2005
2001
Intel Itanium (2001 ~ 2017)
52位 い 元 もと
64位 い 元 もと EPIC 架 か 構, 128位 い 元 もと VLIW指令 しれい 捆綁, 置 おけ 晶 あきら x86硬 かた 體 からだ 支援 しえん x86作業 さぎょう 系統 けいとう 和 わ 程 ほど 式 しき (早期 そうき 版本 はんぽん ),軟體IA-32 EL模擬 もぎ x86程 ほど 式 しき (Itanium 2), Itanium 通用 つうよう 暫存器 き 被 ひ 映 うつ 射 い 成 なり x86暫存器 き
x64
64位 い 元 げん 拓 たく 展 てん 時代 じだい 從 したがえ 2001起 おこり
x64是 ぜ x86架 か 構的64位 い 元 げん 拓 たく 展 てん ,在 ざい 它的遺留 いりゅう 模 も 式 しき 中原 なかはら 封 ふう 了 りょう 完 かん 整 せい 不變 ふへん 的 てき x86架 か 構。x64處理 しょり 器 き 的 てき 真正 しんせい 架 か 構置於64位 い 元 もと 模 も 式 しき 中 ちゅう ,它沒有 ゆう 分段 ぶんだん 式 しき 的 てき 定位 ていい 記憶 きおく 體 たい 能力 のうりょく ,因 いん 此它僅擁有 ゆう 架 か 構許諾 きょだく 的 てき 64位 い 元 もと 序列 じょれつ 記憶 きおく 體 たい 位置 いち ,現時 げんじ 情況 じょうきょう 僅有48位 い 元 もと 被 ひ 實現 じつげん ;與 あずか 這個64位 い 元 もと 模 も 式 しき 共生 きょうせい 的 てき 是 ぜ 用 よう 來 らい 支援 しえん 大 だい 部分 ぶぶん 32位 い 元 もと x86程 ほど 式 しき 的 てき 相 しょう 容 よう 模 も 式 しき
2003
Athlon 64 /FX /X2 (2005), Opteron Sempron (2004)/X2 (2008)Turion 64 (2005)/X2 (2006)
40位 い 元 もと
AMD64 (排除 はいじょ 早 はや 先 さき 一 いち 些32位 い 元 もと Sempron處理 しょり 器 き ), 置 おけ 晶 あきら 記憶 きおく 體 たい 控 ひかえ 制 せい 器 き , HT匯流排 はい , 置 おけ 晶 あきら 雙 そう 核心 かくしん (X2), AMD-V (Athlon 64 Orleans), Socket 754 /939 /940 or AM2
2004
Pentium 4 (Prescott)Celeron D , Pentium D (2005)
36位 い 元 もと
EM64T (僅在特定 とくてい 型 がた 號 ごう 的 てき Pentium 4和 わ Celeron D開 ひらけ 啟 けい ), SSE3 , 第 だい 二 に 代 だい NetBurst管 かん 線 せん , 雙 そう 核心 かくしん (置 おけ 晶 あきら : Pentium D 8xx; 置 おけ 片 へん : Pentium D 9xx), Intel VT (Pentium 4 6x2), socket LGA 775
2006
Intel Core 2 Pentium Dual-Core (2007) Celeron Dual-Core (2008)
Intel 64 (<<== EM64T), SSSE3 (65奈米), 寬 ひろし 域 いき 脫 だつ 序 じょ 超 ちょう 純量 じゅんりょう 執行 しっこう 引擎, 微 ほろ 作業 さぎょう 指令 しれい 融合 ゆうごう , 巨 きょ 集 しゅう 融合 ゆうごう , 置 おけ 片 かた 四 よん 核心 かくしん (Core 2 Quad), 智慧 ちえ 型 がた 分 ぶん 享 とおる 二 に 次元 じげん 快 かい 取 と
2007
AMD Phenom /II (2008)Athlon II (2009), Turion II (2009)
48位 い 元 もと
Monolithic quad-core(X4)/triple-core(X3), SSE4a , Rapid Virtualization Indexing (RVI), HT匯流排 はい 3, AM2+ or AM3
2008
Intel Core 2 (45奈米)
36位 い 元 もと
SSE4.1
Intel Atom
小 しょう 筆 ふで 電 でん 或 ある 低 てい 功 こう 耗智慧 ちえ 型 がた 裝置 そうち 的 てき 處理 しょり 器 き , P54C核心 かくしん 的 てき 重用 じゅうよう
Intel Core i7 Core i5 (2009), Core i3 (2010)
QuickPath, 置 おけ 片 かた 繪圖 えず 及記憶 きおく 體 たい 匯流排 はい (Clarkdale ), SSE4.2 , 擴展頁 ぺーじ 表 ひょう (EPT), LGA 1366 (Nehalem) or LGA 1156 socket
VIA Nano
基 もと 於硬體 たい 的 てき 加 か 密 みつ 元 もと 件 けん ; 智慧 ちえ 適應 てきおう 型 がた 電源 でんげん 管理 かんり
2010
AMD FX
48位 い 元 もと
八 はち 核心 かくしん , CMT(叢 くさむら 集 しゅう 多 た 執行 しっこう 緒 いとぐち ), 乘 の 積 せき 累加 るいか 運算 うんざん , OpenCL , AM3+
2011
AMD APU A and E Series (Llano )
40位 い 元 もと
置 おけ 晶 あきら GPGPU, PCI Express 2.0, Socket FM1
AMD APU C, E and Z Series (Bobcat )
36位 い 元 もと
低 てい 功 こう 耗智慧 ちえ 型 がた 裝置 そうち APU
Intel Core i3 , Core i5 and Core i7 (Sandy Bridge /Ivy Bridge )
內部環 たまき 形 がた 連接 れんせつ , LGA 1155 socket.
2012
AMD APU A Series (Bulldozer, Trinity and later)
48位 い 元 もと
AVX , Bulldozer based APU, Socket FM2 or Socket FM2+
Intel Xeon Phi (Knights Corner)
48位 い 元 もと
輔助處理 しょり 器 き 作業 さぎょう 系統 けいとう 支 ささえ 撐的PCI-E界面 かいめん 卡形式 しき 的 てき XEON系統 けいとう 的 てき 輔助處理 しょり 器 き , 多 た 異 い 核心 かくしん 晶 あきら 片 へん , 順序 じゅんじょ P54C , 超 ちょう 寬 ひろし VPU (512位 い 元 もと SSE), LRBni 指令 しれい (8× 64位 い 元 もと )
2013
AMD Jaguar (Athlon, Sempron)
48位 い 元 もと
SoC , 適用 てきよう 於電子 でんし 遊 ゆう 樂器 がっき 和 わ 低 てい 功 こう 耗智慧 ちえ 型 がた 裝置 そうち 的 てき 處理 しょり 器 き
Intel Silvermont (Atom, Celeron, Pentium)
36位 い 元 もと
SoC , 低 ひく 或 ある 極 ごく 低 てい 功 こう 耗智慧 ちえ 型 がた 裝置 そうち 的 てき 處理 しょり 器 き
Intel Core i3 , Core i5 and Core i7 (Haswell /Broadwell )
39位 い 元 もと
AVX2 , FMA3 , TSX , BMI1, and BMI2 instructions, LGA 1150 socket
2015
Intel Broadwell-U (Intel Core i3 , Core i5 , Core i7 , Core M , Pentium , Celeron )
SoC, 置 おけ 片 かた Broadwell-U PCH-LP (多 た 晶 あきら 元 もと 模 も 組 ぐみ )
2015/2016
Intel Skylake /Kaby Lake /Cannonlake (Intel Core i3 , Core i5 , Core i7 )
46位 い 元 もと
AVX3
2016
Intel Xeon Phi (Knights Landing)
48位 い 元 もと
孤立 こりつ 啟 けい 動 どう 型 がた Xeon系統 けいとう 的 てき 加速器 かそくき , 基 もと 於Airmont (Atom)核心 かくしん 技術 ぎじゅつ
2016
AMD Bristol Ridge (AMD (Pro) A6/A8/A10/A12)
48位 い 元 もと
置 おけ 晶 あきら FCH, SoC, AM4 socket
2017
AMD Ryzen Series/AMD Epyc Series
AMD的 てき 多 た 執行 しっこう 緒 いとぐち 技術 ぎじゅつ , LGA (4094, Epyc), 置 おけ 片 かた 多 た 晶 あきら 元 もと , Epyc將 はた 取 と 代 だい Opteron產品 さんぴん 線 せん
軟體模擬 もぎ 時代 じだい ARM64
2017
Windows 10 on ARM64
Microsoft與 あずか Qualcomm的 てき 合作 がっさく 結晶 けっしょう 將 はた Windows 10帶 たい 入 にゅう 至 いたり 基 もと 於ARM64的 てき Qualcomm平台 ひらだい ,並 なみ 針 はり 對 たい 32位 い 元 もと x86程 ほど 式 しき 提供 ていきょう CHPE模擬 もぎ 器 き 有效 ゆうこう 支援 しえん ,從 したがえ 版本 はんぽん 1709 (16299.15)起 おこり
CPU紀元 きげん 朝代 あさよ
面 めん 市 し 時間 じかん
卓越 たくえつ 的 てき CPU型 がた 號 ごう
實 じつ 記憶 きおく 體 たい 位置 いち 找尋空間 くうかん
引入功 こう 能 のう 及註釋 ちゅうしゃく
x86架 か 構是重要 じゅうよう 地 ち 可變 かへん 指令 しれい 長 ちょう 度 ど 的 てき CISC (複雜 ふくざつ 指令 しれい 集 しゅう 電腦 でんのう ,C omplex I nstruction S et C omputer)。字 じ 組 ぐみ (word, 4位 い 元 もと 組 ぐみ )長 ちょう 度 ど 的 てき 記憶 きおく 體 たい 存 そん 取 と 允許 いんきょ 不 ふ 對 たい 齊 ひとし 記憶 きおく 體位 たいい 址 し ,字 じ 組 ぐみ 是 ぜ 以低位 い 字 じ 节在前 まえ 的 てき 順序 じゅんじょ 儲 もうか 存在 そんざい 記憶 きおく 體 たい 中 ちゅう 。向後 きょうこう 相 あい 容 よう 性 せい 及Intel 量產 りょうさん 製 せい 程 ほど 經常 けいじょう 領 りょう 先 さき 業界 ぎょうかい 一 いち 直 ちょく 都 と 是 ぜ 在 ざい x86架 か 構的發展 はってん 背後 はいご 一 いち 股 また 驅動 くどう 力量 りきりょう (設計 せっけい 的 てき 需要 じゅよう 決定 けってい 了 りょう 這項因 いん 素 もと 而常常 つね 導 しるべ 致批評 ひひょう ,尤 ゆう 其是來 き 自 じ 對 たい 手 て 處理 しょり 器 き 的 てき 擁護 ようご 者 しゃ 和 わ 理論 りろん 界 かい ,他 た 們對於一個被廣泛認為是落后設計的架構的持續成功感到不解)。但 ただし 在 ざい 較新的 てき 微 ほろ 架 か 構中,x86處理 しょり 器 き 會 かい 將 はた 常用 じょうよう 的 てき x86指令 しれい 盡 つき 全力 ぜんりょく 以硬體 たい 線路 せんろ 執行 しっこう ,不 ふ 常用 じょうよう 者 しゃ 則 のり 轉換 てんかん 為 ため 更 さら 像 ぞう RISC 的 てき 微 ほろ 指令 しれい 再 さい 予 よ 执行,從 したがえ 而獲得 かくとく 可 か 與 あずか RISC比 ひ 擬 なずらえ 的 てき 超 ちょう 純量 じゅんりょう 性能 せいのう ,而仍然 しか 保持 ほじ 向後 こうご 兼 けん 容 よう 。x86架 か 構的處理 しょり 器 き 一 いち 共有 きょうゆう 四 よん 種 しゅ 執行 しっこう 模 も 式 しき ,分 ふん 别是真實 しんじつ 模 も 式 しき ,保護 ほご 模 も 式 しき ,系 けい 统管理 かんり 模 も 式 しき 以及虛 きょ 擬 なずらえ V86模 も 式 しき 。
在 ざい 這篇簡短 かんたん 的 てき 文章 ぶんしょう 中 ちゅう 出現 しゅつげん 的 てき 指令 しれい 和 わ 暫存器 き 助 じょ 憶符號 ごう 的 てき 名稱 めいしょう ,都 と 在 ざい Intel文 ぶん 件 けん 中有 ちゅうう 所 しょ 指定 してい 以及使用 しよう 在 ざい Intel組 ぐみ 譯 やく 器 き (Assembler )中 ちゅう (和 わ 相 しょう 容 よう 的 てき ,比 ひ 如微 ほろ 軟的 てき MASM 、Borland 的 てき TASM、CAD きゃど -UL的 てき as386等 とう 等 とう )。一 いち 個 こ 以Intel語法 ごほう 指定 してい 的 てき 指令 しれい "mov al, 30h"與 あずか AT&T語法 ごほう 的 てき "movb $0x30, %al"相當 そうとう ,都 みやこ 是 ただし 會 かい 被 ひ 轉 てん 譯 やく 为兩個 りゃんこ 字 じ 节的機器 きき 碼"B0 30"(十 じゅう 六 ろく 進 しん 制 せい )。你可以發現在 げんざい 這段程 ほど 式 しき 中 ちゅう 的 てき "mov"或 ある "al",都 と 是 ぜ 原 ばら 來 らい 的 てき Intel助 じょ 憶符號 ごう 。如果我 わが 們想要 よう 的 てき 話 ばなし ,我 わが 們可以寫一個組譯器由程式碼move immediate byte hexadecimally encoded 30 into low half of the first register(移動 いどう 立 りつ 即 そく 值位元 もと 十 じゅう 六 ろく 進 しん 制 せい 編 へん 碼30到 いた 第 だい 一個暫存器的低半部位),來 らい 產 さん 生 せい 相 しょう 同 どう 的 てき 機器 きき 碼。然 しか 而,傳 つて 统上組 ぐみ 譯 やく 器 き (Assembler )一 いち 直 ちょく 使用 しよう Intel的 てき 助 じょ 憶符號 ごう 。
x86組合 くみあい 語 ご 言 げん 會 かい 在 ざい x86組合 くみあい 語 ご 言 げん 文章 ぶんしょう 中有 ちゅうう 更 さら 詳細 しょうさい 的 てき 討論 とうろん 。
在 ざい 真實 しんじつ 模 も 式 しき 下 か ,記憶 きおく 體 たい 的 てき 存 そん 取 と 是 ぜ 被 ひ 區 く 段 だん 開 ひらけ 來 らい 。為 ため 了 りょう 得 え 到 いた 最後 さいご 20位 い 元 もと 的 てき 記憶 きおく 體位 たいい 址 し ,要 よう 將 しょう 區 く 段 だん 的 てき 位 い 址 し 往左移動 いどう 4位 い 元 もと ,並 なみ 且加上 じょう 偏 へん 移 うつり 的 てき 位 い 址 し 。因 よし 此,真實 しんじつ 模 も 式 しき 下總 しもふさ 共 ども 可 か 以定址 し 的 てき 空間 くうかん 是 ぜ 220 位 い 元 もと 組 ぐみ ,或 ある 者 もの 是 ぜ 1MB,於1979年 ねん 是 ぜ 相當 そうとう 讓 ゆずる 人 じん 印象 いんしょう 深刻 しんこく 的 てき 象徵 しょうちょう 。在 ざい 真實 しんじつ 模 も 式 しき 下 か 有 ゆう 兩 りょう 種 たね 定 じょう 址 し 模 も 式 しき :near和 わ far。在 ざい far模 も 式 しき ,區 く 段 だん 跟偏移 うつり 都 と 需要 じゅよう 被 ひ 指定 してい ;在 ざい near模 も 式 しき ,只 ただ 需要 じゅよう 偏 へん 移 うつり 模 も 式 しき 被 ひ 指定 してい ,而記憶 きおく 體 たい 區 く 段 だん 是 ぜ 由 よし 適當 てきとう 的 てき 區 く 段 だん 暫存器 き 獲得 かくとく 。以資料 しりょう 而言是 ぜ 使用 しよう DS暫存器 き ,程 ほど 式 しき 碼是CS暫存器 き ,堆 うずたか 疊 たたみ 是 ぜ SS暫存器 き 。舉個例 れい 子 こ ,如果DS是 ぜ A000h且SI是 ぜ 5677h,DS:SI會 かい 指向 しこう 記憶 きおく 體 たい 的 てき 絕對 ぜったい 位 い 址 し DS × 16 + SI = A5677h
在 ざい 這種架 か 構下,兩 りょう 對 たい 不同 ふどう 的 てき 區 く 段 だん /偏 へん 移 うつ 可 か 以指向 しこう 一個相同的絕對位址。因 よし 此如果 はて DS是 ぜ A111h且SI是 ぜ 4567h,DS:SI會 かい 指向 しこう 跟上一 いち 段 だん 相 しょう 同 どう 的 てき A5677h。除 じょ 了 りょう 異 い 值同址 し 重複 じゅうふく 性 せい 之 の 外 そと ,這種架 か 構無法 ほう 同時 どうじ 一 いち 次 じ 擁 よう 有 ゆう 4個 こ 以上 いじょう 的 てき 區 く 段 だん 。此外,CS、DS和 わ SS是 ぜ 為 ため 了 りょう 程 ほど 式 しき 正確 せいかく 功 こう 能 のう 而必須 ひっす 的 てき ,因 いん 此僅僅只有 ゆう ES可 か 以被用 よう 來 らい 指向 しこう 其他的 てき 地方 ちほう 。這種模 も 式 しき 原本 げんぽん 是 ぜ 為 ため 了 りょう 與 あずか Intel 8085 相 あい 容 よう ,導 しるべ 致程式 しき 設計 せっけい 師 し 永 ひさし 無 む 止 とめ 盡 つき 的 てき 痛苦 つうく 。
除 じょ 了 りょう 以上 いじょう 所說 しょせつ 的 てき ,8086也擁有 ゆう 16-bit的 てき 32K (其變種 しゅ Intel 8088 是 ぜ 8-bit的 てき 64K)輸入 ゆにゅう 輸出 ゆしゅつ 空間 くうかん ,以及一 いち 個 こ 由 ゆかり 硬 かた 體 からだ 支援 しえん 的 てき 64K(一 いち 個 こ 區 く 段 だん )記憶 きおく 體 たい 堆 うずたか 疊 たたみ 。只 ただ 有 ゆう words(2位 い 元 もと 組 ぐみ )可 か 以被推入到 いた 堆 うずたか 疊 たたみ 中 ちゅう 。堆 うずたか 疊 たたみ 是 ぜ 由 よし 記憶 きおく 體 たい 的 てき 上端 じょうたん 往下成長 せいちょう ,他 た 的 てき 底 そこ 端 はし 是 ぜ 由 よし SS:SP指向 しこう 。有 ゆう 256個 こ 中斷 ちゅうだん ,可 か 以由硬 かた 體 たい 或 ある 是 ぜ 軟體同時 どうじ 組成 そせい 。中斷 ちゅうだん 是 ぜ 可 か 以串連 れん 在 ざい 一起 かずき ,使用 しよう 堆 うずたか 疊 たたみ 來 らい 儲 もうか 存 そん 返 かえし 回 かい 被 ひ 中斷 ちゅうだん 的 てき 程 ほど 式 しき 位 い 址 し 。
Intel 80286可 か 以在不 ふ 改變 かいへん 任 にん 何 なん 東西 とうざい 下 か ,支援 しえん 8086的 てき 真實 しんじつ 模 も 式 しき 16位 い 元 もと 軟體,然 しか 而它也支援 しえん 額 がく 外的 がいてき 工作 こうさく 模 も 式 しき 稱 たたえ 為 ため 保護 ほご 模 も 式 しき ,可 か 以將可 か 定 じょう 址 し 的 てき 實體 じったい 記憶 きおく 體 たい 擴充 かくじゅう 到 いた 16MB ,可 か 定 じょう 址 し 的 てき 虛 きょ 擬 なずらえ 記憶 きおく 體 たい 最大 さいだい 到 いた 1GB 。這是使用 しよう 節 ぶし 區 く 暫存器 き 來 らい 儲 もうか 存在 そんざい 節 ぶし 區 く 表 ひょう 格 かく 中 ちゅう 的 てき 索引 さくいん 值。處理 しょり 器 き 中有 ちゅうう 兩個 りゃんこ 這樣的 てき 表 ひょう 格 かく ,分別 ふんべつ 為 ため GDT 和 わ LDT ,每 まい 一個可以儲存最多8192個 こ 節 ぶし 區 く 的 てき 描述子 こ ,每 まい 一個節區可以給予最大到64KB的 てき 記憶 きおく 體 たい 存 そん 取 と 。節 ふし 區 く 表 ひょう 格 かく 提供 ていきょう 一 いち 個 こ 24位 い 元 もと 的 てき 基底 きてい 位 い 址 し (base address),可 か 以用此基底 そこ 位 い 址 し 增加 ぞうか 想 そう 要 よう 的 てき 偏 へん 移 うつり 量 りょう 來 らい 創造 そうぞう 出 で 一 いち 個 こ 絕對 ぜったい 位 い 址 し 。此外,每 まい 一個節區可以被賦予四種權限等級中的一種(稱 しょう 為 ため "rings")。
儘管這個推出的 てき 功 こう 能 のう 是 ぜ 一 いち 項 こう 進步 しんぽ ,但 ただし 是 ぜ 他 た 們並沒 ぼつ 有 ゆう 被 ひ 廣 こう 泛地使用 しよう ,因 いん 為 ため 保護 ほご 模 も 式 しき 的 てき 作業 さぎょう 系統 けいとう 無法 むほう 執行 しっこう 當時 とうじ 的 てき 真實 しんじつ 模 も 式 しき 軟體。這樣的 てき 能力 のうりょく 只 ただ 有 ゆう 在 ざい 隨 ずい 後 ご 80386處理 しょり 器 き 的 てき 虛 きょ 擬 なずらえ 86模 も 式 しき 中 ちゅう 出現 しゅつげん 。
在 ざい 同時 どうじ ,作業 さぎょう 系統 けいとう 比 ひ 如OS/2 嘗試使用 しよう 類似 るいじ 乒乓的 てき 方法 ほうほう ,讓 ゆずる 處理 しょり 器 き 在 ざい 保護 ほご 和 わ 真實 しんじつ 模 も 式 しき 間 あいだ 切 せつ 換 かわ 。這樣都會 とかい 讓 ゆずる 電腦 でんのう 變 へん 慢且不 ふ 安全 あんぜん ,像 ぞう 是 ぜ 在 ざい 真實 しんじつ 模 も 式 しき 下 か 的 てき 程 ほど 式 しき 可 か 以輕易 けいい 地 ち 使 し 電腦 でんのう 當機 とうき 。OS/2也定義 ていぎ 了 りょう 限 げん 制 せい 性的 せいてき 程 ほど 式 しき 設計 せっけい 規則 きそく 允許 いんきょ "Family API"或 ある "bound"程 ほど 式 しき 可 か 以在真實 しんじつ 模 も 式 しき 或 ある 保護 ほご 模 も 式 しき 下 か 執行 しっこう 。然 しか 而這是 ぜ 給 きゅう 原本 げんぽん 為 ため 保護 ほご 模 も 式 しき 下 か 設計 せっけい 的 てき 程 ほど 式 しき 有 ゆう 關 せき ,反 たん 之 の 則 のり 不 ふ 然 しか 。保護 ほご 模 も 式 しき 程 ほど 式 しき 並 なみ 不 ふ 支援 しえん 節 ぶし 區 く 選擇 せんたく 子 こ 和 わ 實體 じったい 記憶 きおく 體 たい 之 の 間 あいだ 的 てき 關係 かんけい 。有 ゆう 時候 じこう 會 かい 錯誤 さくご 地相 ちそう 信 しんじ 在 ざい 16位 い 元 もと 保護 ほご 模 も 式 しき 下 か 執行 しっこう 真實 しんじつ 模 も 式 しき 的 てき 程 ほど 式 しき ,導 しるべ 致IBM必須 ひっす 選擇 せんたく 使用 しよう Intel保留 ほりゅう 給 きゅう BIOS的 てき 中斷 ちゅうだん 呼 よび 叫 さけべ 。事實 じじつ 上 じょう 這類的 てき 程 ほど 式 しき 使用 しよう 任意 にんい 的 てき 選擇 せんたく 子 こ 數 すう 值和使用 しよう 在 ざい 上面 うわつら 提 ひっさげ 到 いた 的 てき “節 ふし 區 く 運算 うんざん ”的 てき 方式 ほうしき 有 ゆう 關 せき 。
這個問題 もんだい 也在Windows 3.x 上 うえ 出現 しゅつげん 。這個推出版本 はんぽん 想 おもえ 要 よう 在 ざい 16位 い 元 もと 保護 ほご 模 も 式 しき 下 か 執行 しっこう 程 ほど 式 しき ,而先前 まえ 的 てき 版本 はんぽん 只 ただ 能 のう 在 ざい 真實 しんじつ 模 も 式 しき 下 か 執行 しっこう 。理論 りろん 上 じょう ,如果Windows 1.x或 ある 2.x程 ほど 式 しき 是 ぜ 寫 うつし 得 どく “適當 てきとう ”且避免 めん 使用 しよう 節 ぶし 區 く 運算 うんざん 的 てき 方式 ほうしき ,它就有 ゆう 可能 かのう 在 ざい 真實 しんじつ 和 わ 保護 ほご 模 も 式 しき 兩者 りょうしゃ 下 か 執行 しっこう 。Windows程 ほど 式 しき 一般來說都會避免節區運算,這是因 いん 為 ため Windows實 じつ 作出 さくしゅつ 軟體的 てき 虛 きょ 擬 なずらえ 記憶 きおく 體 たい 方式 ほうしき ,及當程 ほど 式 しき 不 ふ 執行 しっこう 時候 じこう ,搬移記憶 きおく 體 たい 中 ちゅう 的 てき 程 ほど 式 しき 碼和資料 しりょう ,所以 ゆえん 操作 そうさ 絕對 ぜったい 位 い 址 し 的 てき 方式 ほうしき 是 ぜ 很危險 けん 的 てき ;當 とう 程 ほど 式 しき 不 ふ 執行 しっこう 時 じ ,被 ひ 認 みとめ 為 ため 要 よう 保持 ほじ 記憶 きおく 體 たい 區 く 塊 かたまり 的 てき “handles”,這樣的 てき handles已 やめ 經 けい 非常 ひじょう 相當 そうとう 於保護 ほご 模 も 式 しき 的 てき 選擇 せんたく 子 こ 。在 ざい 保護 ほご 模 も 式 しき 下 か 的 てき Windows 3.0執行 しっこう 一 いち 個 こ 舊 きゅう 的 てき 程 ほど 式 しき ,會 かい 觸發 しょくはつ 一 いち 個 こ 警告 けいこく 對話 たいわ 盒,建議 けんぎ 在 ざい 真實 しんじつ 模 も 式 しき 下 か 執行 しっこう Windows(推測 すいそく 還 かえ 是 ぜ 仍然可 か 以使用 しよう 擴充 かくじゅう 記憶 きおく 體 たい ,可能 かのう 是 ぜ 在 ざい 80386機器 きき 用 よう EMM386 模擬 もぎ ,因 いん 此它並 なみ 不 ふ 被 ひ 局限 きょくげん 於640KB)或 ある 是 ぜ 從 したがえ 廠 しょう 商 しょう 那 な 更新 こうしん 到 いた 新 しん 的 てき 版本 はんぽん 。好 このみ 的 てき 行為 こうい 之 の 程 ほど 式 しき 可能 かのう 可 か 以使用 よう 特別 とくべつ 的 てき 工具 こうぐ 來 らい 避免這樣的 てき 對話 たいわ 盒。不可能 ふかのう 有 ゆう 些GUI程 ほど 式 しき 在 ざい 16位 い 元 もと 保護 ほご 模 も 式 しき 下 か 執行 しっこう ,且其它GUI程 ほど 式 しき 在 ざい 真實 しんじつ 模 も 式 しき 執行 しっこう ,可能 かのう 是 ぜ 因 いん 為 ため 這會需要 じゅよう 兩個 りゃんこ 分 ぶん 開 ひらき 的 てき 環境 かんきょう 且會依 よ 於前面 めん 所 しょ 提 ひっさげ 到 いた 的 てき 處理 しょり 器 き 在 ざい 兩個 りゃんこ 模 も 式 しき 間 あいだ 的 てき 乒乓效 こう 應 おう 。從 したがえ Windows 3.1版 はん 開始 かいし ,真實 しんじつ 模 も 式 しき 就消失 しょうしつ 了 りょう 。
Intel 80386 推出後 ご ,也許是 ぜ 到 いた 目前 もくぜん 為 ため 止 どめ x86架 か 構的最大 さいだい 躍進 やくしん 。除 じょ 了 りょう 需要 じゅよう 值得注意 ちゅうい 的 てき Intel 80386SX 是 これ 32位 い 元 もと 架 か 構但僅只有 ゆう 24位 い 元 もと 定 じょう 址 し (和 わ 16位 い 元 もと 資料 しりょう 匯流排 はい )。除 じょ 此之外 がい 其他架 か 構都是 ぜ 32位 い 元 もと - 所有 しょゆう 的 てき 暫存器 き 、指令 しれい 集 しゅう 、輸出 ゆしゅつ 輸入 ゆにゅう 空間 くうかん 和 わ 記憶 きおく 體 たい 定 じょう 址 し 。為 ため 了 りょう 能 のう 夠在後者 こうしゃ 所說 しょせつ 的 てき 功 こう 能 のう 工作 こうさく ,要 よう 使用 しよう 32位 い 元 もと 擴充 かくじゅう 的 てき 保護 ほご 模 も 式 しき 。然 しか 而不像 ぞう 286,386所有 しょゆう 的 てき 區 く 段 だん 可 か 以使用 しよう 32位 い 元 もと 的 てき 偏 へん 移 うつり 量 りょう ,即 そく 使 つかい 記憶 きおく 體 たい 空間 くうかん 有 ゆう 使用 しよう 區 く 段 だん ,但 ただし 也允許 いんきょ 應用 おうよう 程 ほど 式 しき 存 そん 取 と 超過 ちょうか 4GB空間 くうかん 而不需要 じゅよう 區 く 段 だん 的 てき 分 ぶん 隔 へだた 。此外,32位 い 元 もと 保護 ほご 模 も 式 しき 提供 ていきょう 分 ぶん 頁 ぺーじ 的 てき 支援 しえん ,是 ぜ 一 いち 種 しゅ 讓 ゆずる 虛 きょ 擬 なずらえ 記憶 きおく 體 たい 得 とく 以實現 じつげん 的 てき 機 き 制 せい 。
沒 ぼつ 有 ゆう 新 しん 的 てき 通用 つうよう 暫存器 き 被 ひ 加入 かにゅう 。所有 しょゆう 16位 い 元 もと 的 てき 暫存器 き 除 じょ 了 りょう 區 く 段 だん 暫存器 き 外 そで 都 と 擴充 かくじゅう 為 ため 32位 い 元 もと 。Intel在 ざい 暫存器 き 的 てき 助 すけ 記 き 符號 ふごう 上 じょう 加入 かにゅう “E”來 らい 表示 ひょうじ (因 いん 此擴充 かくじゅう 的 てき AX變成 へんせい EAX,SI變成 へんせい ESI,依 よ 此類推 るいすい )。因 よし 為 ため 有 ゆう 更 さら 多 た 的 てき 暫存器 き 數量 すうりょう 、指令 しれい 、和 わ 運算 うんざん 單元 たんげん ,因 いん 此機器 きき 碼的 てき 格式 かくしき 也被擴充 かくじゅう 。為 ため 了 りょう 提 ひさげ 供與 きょうよ 先 さき 前 まえ 的 てき 架 か 構相容 よう ,包含 ほうがん 執行 しっこう 碼的區 く 段 だん 可 か 以被標示 ひょうじ 為 ため 16或 ある 是 ぜ 32位 い 元 もと 的 てき 指令 しれい 集 しゅう 。此外,特殊 とくしゅ 的 てき 前 まえ 置 おけ 符號 ふごう 也可以用來 らい 在 ざい 16位 い 元 もと 的 いくわ 區 く 段 だん 包含 ほうがん 32位 い 元 もと 的 てき 指令 しれい 碼,反 たん 之 の 亦 また 然 しか 。
分 ぶん 頁 ぺーじ 跟區段 だん 的 てき 記憶 きおく 體 たい 存 そん 取 と 是 ぜ 為 ため 了 りょう 支援 しえん 現在 げんざい 多 た 工 こう 作業 さぎょう 系統 けいとう 所 しょ 必須 ひっす 要 よう 的 てき 。Linux 、386BSD 、Windows NT 和 わ Windows 95 都 と 是 ぜ 一 いち 開始 かいし 為 ため 386所 しょ 發展 はってん ,因 いん 為 ため 它是第 だい 一顆提供可靠地程式分離記憶體空間的支援(每 まい 個 こ 程 ほど 式 しき 擁 よう 有 ゆう 自己 じこ 的 てき 定 じょう 址 し 空間 くうかん )以及可 か 以在必要 ひつよう 的 てき 情況 じょうきょう 下 か 打 だ 斷 だん 他 た 們程式 しき 的 てき 執行 しっこう (使用 しよう ring,一種 いっしゅ x86保護 ほご 模 も 式 しき 下 か 權力 けんりょく 分 ぶん 級 きゅう 的 てき 名稱 めいしょう )。這種386的 てき 基本 きほん 架 か 構變成 へんせい 未來 みらい 所有 しょゆう x86系列 けいれつ 發展 はってん 的 てき 基礎 きそ 。
Intel 80386 數學 すうがく 輔助運算 うんざん 處理 しょり 器 き 也在整合 せいごう 到 いた 這個CPU之 これ 後 ご 的 てき x86系列 けいれつ 中 ちゅう ,也就是 ぜ Intel 80486。新 しん 的 てき FPU 可 か 以幫助 すけ 浮點數 すう 運算 うんざん ,對 たい 於科學 かがく 計算 けいさん 和 わ 圖形 ずけい 設計 せっけい 是非 ぜひ 常 つね 重要 じゅうよう 。
Intel首 くび 次 じ 在 ざい 80386SL將 しょう 系統 けいとう 管理 かんり 模 も 式 しき 引入x86体系 たいけい 结构。
1996年 ねん Intel的 てき MMX (AMD认为这是矩 のり 陣 じん 數學 すうがく 擴充 かくじゅう Matrix Math Extensions的 てき 缩写,但 ただし 大 だい 多数 たすう 時候 じこう 都 と 被 ひ 當 とう 成 なり Multi-Media Extension,而Intel从来没 ぼつ 有 ゆう 官 かん 方 かた 宣布 せんぷ 过词源 げん )技術 ぎじゅつ 出現 しゅつげん 。儘管這項新 しん 的 てき 科技 かぎ 得 え 到 いた 广泛宣 せん 传,但 ただし 它的精髓 せいずい 是非 ぜひ 常 つね 簡單 かんたん 的 てき :MMX定義 ていぎ 了 りょう 八 はち 個 こ 64位 い 元 もと SIMD 暫存器 き ,與 あずか Intel Pentium處理 しょり 器 き 的 てき FPU 堆 うずたか 疊 たたみ 有 ゆう 相 しょう 重疊 ちょうじょう 。不幸 ふこう 的 てき 是 ぜ ,這些指令 しれい 無法 むほう 非常 ひじょう 簡單 かんたん 地 ち 對應 たいおう 到 いた 由 よし 原 ばら 來 らい C編 へん 譯 やく 器 き 所產 しょさん 生 せい 的 てき 指令 しれい 碼中。MMX也只局限 きょくげん 於整數 すう 的 てき 運算 うんざん 。這項技術 ぎじゅつ 的 てき 缺點 けってん 導 しるべ 致MMX在 ざい 它早期 き 的 てき 存在 そんざい 有 ゆう 輕微 けいび 的 てき 影響 えいきょう 。現今 げんこん ,MMX通常 つうじょう 是 ぜ 用 よう 在 ざい 某 ぼう 些2D影 かげ 片 へん 應用 おうよう 程 ほど 式 しき 中 ちゅう 。
1997年 ねん AMD推出3DNow! ,是 ぜ 對 たい 於MMX的 てき SIMD的 てき 浮點指令 しれい 增強 ぞうきょう (針 はり 對 たい 相 しょう 同 どう 的 てき MMX暫存器 き )。儘管這些也沒有 ゆう 解決 かいけつ 編 へん 譯 やく 器 き 的 てき 難題 なんだい ,但 ただし 這項技術 ぎじゅつ 的 てき 推出符合 ふごう 了 りょう PC上 うえ 的 てき 3D休 きゅう 閒 あいだ 娛樂 ごらく 應用 おうよう 程 ほど 式 しき 之 の 崛起。3D遊戲 ゆうぎ 開發 かいはつ 者 しゃ 和 わ 3D繪圖 えず 硬 かた 體 からだ 製造 せいぞう 商 しょう 在 ざい AMD 的 てき AMD K6 和 わ Athlon 系列 けいれつ 處理 しょり 器 き 上 じょう ,使用 しよう 3DNow!來 らい 幫助增加 ぞうか 他 た 們的效能 こうのう 。微 ほろ 軟後來 こうらい 也在其開發 かいはつ 的 てき Direct X 7.0中 ちゅう 加入 かにゅう 針 はり 對 たい 3DNow!的 てき 最 さい 佳 けい 化 か ,使 つかい 當時 とうじ 的 てき Athlon處理 しょり 器 き 在 ざい 3D遊戲 ゆうぎ 效能 こうのう 上 じょう 首 くび 次 じ 全面 ぜんめん 超過 ちょうか 對 たい 手 て 英 えい 特 とく 爾 なんじ 的 てき Pentium 3 處理 しょり 器 き 。
在 ざい 1999年 ねん Intel推出SSE 指令 しれい 集 しゅう ,增加 ぞうか 了 りょう 八 はち 個 こ 新 しん 的 てき 128-bit暫存器 き (不 ふ 跟其他 た 的 てき 暫存器 き 重疊 ちょうじょう 使用 しよう )。這些指令 しれい 類似 るいじ 於AMD的 てき 3DNow!,主要 しゅよう 是 ぜ 增加 ぞうか 浮點數 すう 運算 うんざん 的 てき SIMD指令 しれい 。
2001年 ねん 英 えい 特 とく 爾 なんじ 推出SSE2 指令 しれい 集 しゅう ,增加 ぞうか 了 りょう :
完 かん 整地 せいち 補充 ほじゅう 了 りょう 整數 せいすう 指令 しれい (與 あずか MMX相似 そうじ )到 いた 原 げん 來 き 的 てき SSE暫存器 き 。
64位 い 元 もと 的 てき SIMD浮點運算 うんざん 指令 しれい 到 いた 原 げん 來 き 的 てき SSE暫存器 き 。
第 だい 一個的增加導致MMX幾 いく 乎是過 か 時 どき 可 か 以捨棄的,第 だい 二個則允許這些指令可以讓傳統的編譯器現實地產生。
於2004年 ねん 隨 ずい 著 ちょ Pentium 4 處理 しょり 器 き 的 てき 改版 かいはん Prescott 核心 かくしん 推出。SSE3 增加 ぞうか 特定 とくてい 的 てき 記憶 きおく 體 たい 和 わ thread-handling指令 しれい 來 らい 提 ひさげ 升 ます Intel超 ちょう 執行 しっこう 緒 いとぐち 的 てき 效能 こうのう ,在 ざい 科學 かがく 計算 けいさん 方面 ほうめん 也有 やゆう 增强 ぞうきょう 。
2007年 ねん 1月 がつ ,Intel公開 こうかい 發表 はっぴょう 使用 しよう 其45奈米製 せい 程 ほど "Penryn "晶 あきら 片 かた 家族 かぞく 的 てき PC和 わ 伺服器 き 。"Penryn"是 ぜ 這一系列依據英代爾Core微 ほろ 架 か 構之筆記 ひっき 型 がた 電腦 でんのう 、桌上型 がた 電腦 でんのう 和 わ 伺服器 き 晶 あきら 片 かた 家族 かぞく 的 てき 代 だい 號 ごう ,首 しゅ 次 じ 正式 せいしき 发布时共有 きょうゆう 16款处理 り 器 き ,除 じょ 了 りょう 一 いち 款Intel Core 2 Extreme QX9650是 ぜ 针对普通 ふつう 台 だい 式 しき 机 つくえ 市 し 场外,其余的 てき 双 そう 核 かく Xeon 5200系列 けいれつ 和 わ 四 よん 核 かく 5400系列 けいれつ 都 と 是 ぜ 服 ふく 务器处理器 き 。基本 きほん 上 じょう Penryn是 ぜ 繼 ままし Merom 之 これ 後 ご 的 てき 縮小 しゅくしょう 版 ばん Core 2 Duo,再 さい 加 か 上 じょう 47條 じょう 新 しん 的 てき SSE4指令 しれい 集 しゅう 等 とう 額 がく 外 がい 配備 はいび 。SSE4指令 しれい 集 しゅう 之 の 首 くび 次 じ 發表 はっぴょう 時間 じかん 為 ため 2006年 ねん 9月 がつ 的 てき 英 えい 特 とく 尔開發 かいはつ 者 しゃ 論壇 ろんだん (IDF,Intel Developer Forum)。
另外,x86處理 しょり 器 き 製造 せいぞう 廠 しょう 商 しょう AMD 也在該公司 こうし K10 架 か 構的Phenom 處理 しょり 器 き 中 ちゅう ,加入 かにゅう 4條 じょう 新 しん 的 てき SSE4A指令 しれい 集 しゅう 。注意 ちゅうい ,SSE4與 あずか SSE4A無法 むほう 彼此 ひし 兼 けん 容 よう 。
定 じょう 址 し 模 も 式 しき 在 ざい 16-bit的 てき x86處理 しょり 器 き :
{
C
S
:
D
S
:
S
S
:
E
S
:
}
[
{
B
X
B
P
}
]
+
[
{
S
I
D
I
}
]
+
[
d
i
s
p
l
a
c
e
m
e
n
t
]
{\displaystyle {\begin{Bmatrix}CS:\\DS:\\SS:\\ES:\end{Bmatrix}}{\begin{bmatrix}{\begin{Bmatrix}BX\\BP\end{Bmatrix}}\end{bmatrix}}+{\begin{bmatrix}{\begin{Bmatrix}SI\\DI\end{Bmatrix}}\end{bmatrix}}+{\rm {[displacement]}}}
32-bit定 じょう 址 し 模 も 式 しき 在 ざい 32-bit或 ある 64-bit的 てき x86處理 しょり 器 き :
{
C
S
:
D
S
:
S
S
:
E
S
:
F
S
:
G
S
:
}
[
{
E
A
X
E
B
X
E
C
X
E
D
X
E
S
P
E
B
P
E
S
I
E
D
I
}
]
+
[
{
E
A
X
E
B
X
E
C
X
E
D
X
E
B
P
E
S
I
E
D
I
}
∗
{
1
2
4
8
}
]
+
[
d
i
s
p
l
a
c
e
m
e
n
t
]
{\displaystyle {\begin{Bmatrix}CS:\\DS:\\SS:\\ES:\\FS:\\GS:\end{Bmatrix}}{\begin{bmatrix}{\begin{Bmatrix}EAX\\EBX\\ECX\\EDX\\ESP\\EBP\\ESI\\EDI\end{Bmatrix}}\end{bmatrix}}+{\begin{bmatrix}{\begin{Bmatrix}EAX\\EBX\\ECX\\EDX\\EBP\\ESI\\EDI\end{Bmatrix}}*{\begin{Bmatrix}1\\2\\4\\8\end{Bmatrix}}\end{bmatrix}}+{\rm {[displacement]}}}
64-bit定 じょう 址 し 模 も 式 しき 在 ざい 64-bit的 てき x86處理 しょり 器 き :
{
{
F
S
:
G
S
:
}
[
g
e
n
e
r
a
l
r
e
g
i
s
t
e
r
]
+
[
g
e
n
e
r
a
l
r
e
g
i
s
t
e
r
∗
{
1
2
4
8
}
]
R
I
P
}
+
[
d
i
s
p
l
a
c
e
m
e
n
t
]
{\displaystyle {\begin{Bmatrix}{\begin{Bmatrix}FS:\\GS:\end{Bmatrix}}{\begin{bmatrix}{\rm {general\;register}}\end{bmatrix}}+{\begin{bmatrix}{\rm {general\;register}}*{\begin{Bmatrix}1\\2\\4\\8\end{Bmatrix}}\end{bmatrix}}\\\\RIP\end{Bmatrix}}+{\rm {[displacement]}}}
x86汇编指令 しれい lea,是 ぜ Load Effective Address的 てき 缩写,其优势是:
LEA指令 しれい 具有 ぐゆう 单时钟周期 き ,执行效率 こうりつ 很高。
是 ぜ CPU地 ち 址 し 生成 せいせい 单元参与 さんよ 运算的 てき ,而不是 ぜ ALU参与 さんよ 运算的 てき ,所以 ゆえん 在 ざい 流水 りゅうすい 线上不 ふ 会 かい 与 あずか 上下 じょうげ 文 ぶん 的 てき 算 さん 术逻辑指令 れい 产生流水 りゅうすい 相 しょう 关
INTEL指令 しれい 集中 しゅうちゅう 不 ふ 存在 そんざい 很多RISC机 つくえ 器 き 所 しょ 具有 ぐゆう 的 てき 三操作数算术运算指令,比 ひ 如像ARM的 てき "add r0,r1,r2",而LEA指令 しれい 恰好 かっこう 提供 ていきょう 了 りょう 同 どう 样的功 こう 能 のう ,以模拟“三元算术逻辑指令”。例 れい 如:lea ebx ,[eax+edx]
在 ざい 汇编语言程 ほど 序 じょ 设计中 ちゅう ,在 ざい 需要 じゅよう 取得 しゅとく 一个变量地址时,使用 しよう lea是 ぜ 很方便 びん 的 てき 。而mov指令 しれい 则常常 つねづね 出 で 错,因 いん 为在微 ほろ 软MASM 汇编语法中 ちゅう ,label和 わ variable是 ぜ 不同 ふどう 的 てき :addr不可 ふか 前 ぜん 向 こう 引用 いんよう ,offset则能;addr可 か 以处理 り 局部 きょくぶ 变量而 offset则不能 ふのう 。
自 じ Intel 8086和 わ 8088起 おこり ,有 ゆう 14個 こ 16位 い 元 もと 暫存器 き 。其中四 よん 個 こ (AX, BX, CX, DX)是 ぜ 通用 つうよう 目的 もくてき (儘管每 ごと 個 こ 暫存器 き 都 と 有 ゆう 附加 ふか 目的 もくてき ;舉個例 れい 子 こ :只 ただ 有 ゆう CX可 か 以被用 よう 來 らい 當 とう 作 さく loop (迴圈 )指令 しれい 的 てき 計數 けいすう 器 き 。)每 まい 個 こ 暫存器 き 可 か 以被當 とう 成 なり 兩個 りゃんこ 分 ぶん 開 ひらき 的 てき 位 い 元 もと 組 ぐみ 存 そん 取 と (因 いん 此BX的 てき 高位 こうい 元 もと 可 か 以被當 とう 成 なり BH,低位 ていい 元 もと 則 のり 可 か 以當成 なり BL)。除 じょ 了 りょう 這些暫存器 き ,還 かえ 有 ゆう 四 よん 個 こ 區 く 段 だん 暫存器 き (CS、DS、SS、ES)。他 た 們用來 らい 產 さん 生 せい 記憶 きおく 體 たい 的 てき 絕對 ぜったい 位 い 址 し 。還 かえ 有 ゆう 兩個 りゃんこ 指標 しひょう 暫存器 き (SP是 ぜ 指向 しこう 堆 うずたか 疊 たたみ 的 てき 底部 ていぶ ,BP可 か 以用來 らい 指向 しこう 堆 うずたか 疊 たたみ 或 ある 記憶 きおく 體 たい 的 てき 其它地方 ちほう )。兩個 りゃんこ 指標 しひょう 暫存器 き (SI和 わ DI)可 か 以用來 らい 指向 しこう 陣列 じんれつ 的 てき 內部。最後 さいご ,有 ゆう 旗標 はたじるし 暫存器 き (包含 ほうがん 狀態 じょうたい 旗標 はたじるし 比 ひ 如進 すすむ 位 い 、溢位 、結果 けっか 為 ため 零 れい ,等 とう 等 とう )。以及IP是 ぜ 用 よう 來 らい 指向 しこう 目前 もくぜん 執行 しっこう 指令 しれい 的 てき 位 い 址 し 。
自 じ Intel 80386起 おこり ,四 よん 個 こ 通用 つうよう 暫存器 き (EAX, EBX, ECX, EDX),它們較低的 てき 16位 い 元 もと 分別 ふんべつ 與原 よはら 本 ほん 16位 い 元 もと 的 てき 通用 つうよう 暫存器 き (AX, BX, CX, DX)重疊 ちょうじょう 共用 きょうよう 。指標 しひょう 暫存器 き (EIP, EBP, ESP, ESI, EDI)。區 く 段 だん 暫存器 き 除 じょ 了 りょう 原本 げんぽん 的 てき (CS、DS、SS、ES),另外新 そとしん 增 ぞう (FS、GS),但 ただし 是 ぜ 區 く 段 だん 暫存器 き 在 ざい 32位 い 元 もと 模 も 式 しき 下 か 改 あらため 做為記憶 きおく 體 たい 區 く 塊 かたまり 的 てき 選擇 せんたく 子 こ 暫存器 き 。旗標 はたじるし 暫存器 き 被 ひ 擴展為 ため 32位 い 元 もと ,較低的 てき 16位 い 元 もと 與原 よはら 本 ほん 在 ざい 16位 い 元 もと 下 した 的 てき 旗標 はたじるし 暫存器 き 重疊 ちょうじょう 共用 きょうよう 。
MMX 暫存器 き (MM0~MM7),它們分別 ふんべつ 與 あずか 浮點運算 うんざん 器 き 〈FP0~FP7〉相 あい 重疊 ちょうじょう ,所以 ゆえん MMX與 あずか 浮點運算 うんざん 不可 ふか 同時 どうじ 使用 しよう ,必須 ひっす 透過 とうか 切 せつ 換 かわ 選擇 せんたく 要 よう 使用 しよう 哪一 いち 種 しゅ 。
英 えい 特 とく 爾 なんじ 原本 げんぽん 已 やめ 經 けい 決定 けってい 在 ざい 64位 い 元 もと 的 てき 世代 せだい 推出新 しん 的 てき 架 か 構IA-64 技術 ぎじゅつ 的 てき Itanium 處理 しょり 器 き 產品 さんぴん 線 せん 來 らい 接 せっ 替 かえ 取 ど 代 だい x86,但 ただし 它與x86的 てき 軟體天生 あもう 不 ふ 相 あい 容 よう ,因 いん 此藉以各種 かくしゅ 形式 けいしき 來 らい 執行 しっこう x86的 てき 軟體,不 ふ 过,效率 こうりつ 十 じゅう 分 ふん 低下 ていか ,加 か 之 の 處理 しょり 器 き 本身 ほんみ 和 わ 軟體移植 いしょく 的 てき 成本 なりもと 難 なん 以控制 せい ,因 いん 此這個 こ 計畫 けいかく 最終 さいしゅう 告 つげ 吹。
AMD自 じ 行 くだり 把 わ 32位 い 元 もと x86(或 ある 稱 たたえ 為 ため IA-32 )拓 つぶせ 展 てん 為 ため 64位 い 元 もと ,並 なみ 命名 めいめい 為 ため x86-64或 ある Hammer架 か 構,而後更 さら 名 めい 為 ため AMD64 架 か 構,並 なみ 曾禁止 きんし 使用 しよう 之 の 前 まえ 的 てき 名字 みょうじ 來 らい 稱呼 しょうこ 這一架 か 構[1] 。以這個 こ 技術 ぎじゅつ 為 ため 基礎 きそ 的 てき 第 だい 一個產品是单核心的Opteron 和 わ Athlon 64 處理 しょり 器 き 家族 かぞく 。由 よし 於AMD的 てき 64位 い 元 もと 處理 しょり 器 き 產品 さんぴん 線 せん 首 くび 先 さき 进入市 し 场,且微 ほろ 软 也不愿 すなお 意 い 为英代 だい 爾 なんじ 代 だい 號 ごう 為 ため Yamhill的 てき 64位 い 元 もと 版 ばん x86處理 しょり 器 き 开发第 だい 三 さん 個 こ 不同 ふどう 的 てき 64位 い 元 もと 作業 さぎょう 系統 けいとう ,英 えい 代 だい 爾 しか 被 ひ 迫 せり 采 さい 纳AMD64架 か 構且增加 ぞうか 某 ぼう 些新的 てき 擴充 かくじゅう 到 いた 他 た 們自己 じこ 的 てき 產品 さんぴん ,命名 めいめい 為 ため EM64T 架 か 構(顯然 けんぜん 他 た 們不想 そう 承認 しょうにん 這些指令 しれい 集 しゅう 是 ぜ 來 き 自 じ 它的主要 しゅよう 對 たい 手 て ),EM64T後來 こうらい 被 ひ 英 えい 代 だい 爾 しか 正式 せいしき 更 さら 名 めい 為 ため Intel 64 。
這個架 か 構也被 ひ 稱 しょう 為 ため 64位 い 元 げん 拓 たく 展 てん 架 か 構,即 そく x64,譬 たとえ 如四 よん 個 こ 通用 つうよう 暫存器 き (RAX, RBX, RCX, RDX)是 ぜ 由 よし 32位 い 元 もと 的 てき (EAX, EBX, ECX, EDX)64位 い 元 もと 擴展而來,相應 そうおう 的 てき 還 かえ 有 ゆう 指標 しひょう 暫存器 き (RIP, RBP, RSP, RSI, RDI),以及增加 ぞうか 八 はち 個 こ 通用 つうよう 暫存器 き (R8~R15)等 とう 等 とう 。 這些資源 しげん 只 ただ 可 か 在 ざい x64處理 しょり 器 き 的 てき 64位 い 元 もと 模 も 式 しき 下 か 使用 しよう ,在 ざい 用 よう 來 らい 支援 しえん x86軟體的 てき 遺留 いりゅう 模 も 式 しき 和 わ 相 しょう 容 よう 模 も 式 しき 中 ちゅう 是 ぜ 不可 ふか 見 み 的 てき 。
自 じ SSE 起 おこり ,SIMD 的 てき 暫存器 き XMM0 - XMM15.
SIMD registers YMM0 - YMM15.
SIMD registers ZMM0 - ZMM31.
通用 つうよう 暫存器 き (A, B, C and D)
64
56
48
40
32
24
16
8
R?X
E?X
?X
?H
?L
在 ざい 64位 い 元 もと 模 も 式 しき 新 しん 增 ぞう 的 てき 通用 つうよう 暫存器 き (R8, R9, R10, R11, R12, R13, R14, R15)
64
56
48
40
32
24
16
8
?
?D
?W
?B
區 く 段 だん 暫存器 き (C, D, S, E, F and G)
16
8
?S
指標 しひょう 暫存器 き (S and B)
64
56
48
40
32
24
16
8
R?P
E?P
?P
?PL
Note: The ?PL registers are only available in 64-bit mode.
索引 さくいん 暫存器 き (S and D)
64
56
48
40
32
24
16
8
R?I
E?I
?I
?IL
Note: The ?IL registers are only available in 64-bit mode.
指令 しれい 指標 しひょう 暫存器 き (I)
64
56
48
40
32
24
16
8
RIP
EIP
IP
Intel CPU的 てき x86虛 きょ 擬 なずらえ 化 か 技術 ぎじゅつ 有 ゆう VT-x、VT-d等 とう 。AMD CPU的 てき x86虛 きょ 擬 なずらえ 化 か 技術 ぎじゅつ 有 ゆう AMD-V等 とう 。
x86与 あずか x86-64指令 しれい 集 しゅう 的 てき 指令 しれい 的 てき 格式 かくしき 为:
指令 しれい 前 ぜん 缀
指令 しれい 码
ModR/M
SIB
偏 へん 移 うつり
直接 ちょくせつ 数 すう
Instruction Prefixes
Opcode
Displacement
Immediate
可 か 选。最多 さいた 4个单字 じ 节前缀。任 にん 何 なん 顺序均 ひとし 可 か 。
单字节、双 そう 字 じ 节、三 さん 字 じ 节
按需。 0-2位 い :R/M 3-5位 い :Reg/Opcode 6-7位 い :Mod
按需。 0-2位 い :Base 3-5位 い :Index 6-7位 い :Scale
0、1、2、4字 じ 节长
0、1、2、4字 じ 节长
分 ぶん 为4组,每 まい 组用1个字节编码。每 まい 组在指令 しれい 中 ちゅう 至 いたり 多 た 指定 してい 1个前缀值。4组的顺序可 か 以任意 にんい 。
第 だい 1组锁与 あずか 重 じゅう 复(Lock and repeat)
锁(LOCK)编码为:F0H。用 よう 于互斥访问共享 とおる 内 ない 存 そん 的 てき 操作 そうさ 。
非 ひ 零 れい 时重复(REPNE/REPNZ)编码为:F2H。用 よう 于字符 ふ 串 くし 操作 そうさ 指令 しれい 。
为零时重复(REP/REPE/REPZ)编码为:F3H。用 よう 于字符 ふ 串 くし 操作 そうさ 指令 しれい 。
第 だい 2组
段 だん 覆 くつがえ 盖(Segment override):CS、SS、DS、ES、FS、GS的 てき 段 だん 覆 くつがえ 盖前缀的编码分 ぶん 别是2EH、36H、3EH、26H、64H、65H.
分 ぶん 支 ささえ 提示 ていじ (Branch hints),用 よう 于条件 じょうけん 分 ぶん 支 ささえ 指令 しれい Jcc 。提示 ていじ 分 ぶん 支 ささえ 不 ふ 发生编码为2EH;提示 ていじ 分 ぶん 支 ささえ 发生编码为3EH。
第 だい 3组操作 そうさ 数 すう 长度覆 くつがえ 盖(Operand-size override)编码为66H。用 よう 于在16位 い 与 あずか 32位 い 操作 そうさ 数 すう 切 きり 换。
第 だい 4组地址 し 长度覆 くつがえ 盖(Address-size override)编码为67H.用 よう 于在16位 い 与 あずか 32位地 いち 址 し 切 きり 换。
长度为1、2或 ある 3字 じ 节,此外ModR/M中 ちゅう 还可能 かのう 有 ゆう 3位 い 。对于双 そう 字 じ 节指令 れい 码或三字节指令码,其中的 てき 第 だい 1个字节为0FH,用 よう 于与指令 しれい 前 ぜん 缀区分 くぶん 。
许多指令 しれい 的 てき 内 ない 存 そん 操作 そうさ 数 すう 需要 じゅよう 使用 しよう ModR/M字 じ 节作为寻址 し 模 も 式 しき 说明符 ふ 。其中的 てき mod与 あずか r/m组合,共有 きょうゆう 32个值,表示 ひょうじ 8个寄存 そん 器 き 与 あずか 24种寻址 し 模 も 式 しき 。reg/opcode表示 ひょうじ 寄 よせ 存 そん 器 き 号 ごう 或 ある 者 もの 额外的 てき 3位 い 指令 しれい 码,其具体 ぐたい 含义依赖基本 きほん 指令 しれい 码。Mod与 あずか R/M的 てき 5位 い 表示 ひょうじ 的 てき 第 だい 一 いち 操作 そうさ 数 すう (源 みなもと 与 あずか 目的 もくてき 操作 そうさ 数 すう 中 ちゅう 寻址方式 ほうしき 更 さら 复杂的 てき 那 な 个操作 そうさ 数 すう ,指令 しれい 码中的 てき “方向 ほうこう 位 い ”direction bit(d)给出源 げん 或 ある 目的 もくてき 操作 そうさ 数 すう 哪个是 ぜ 第 だい 一 いち 操作 そうさ 数 すう )的 てき 寻址方式 ほうしき 如下:
寻址方式 ほうしき
Mod
R/M
[EAX]
00
000
[ECX]
001
[EDX]
002
[EBX]
003
[--][--]
004
disp32
005
[ESI]
006
[EDI]
007
[EAX]+disp8
01
000
[ECX]+disp8
001
[EDX]+disp8
002
[EBX]+disp8
003
[--][--]+disp8
004
[EBP]+disp8
005
[ESI]+disp8
006
[EDI]+disp8
007
[EAX]+disp32
10
000
[ECX]+disp32
001
[EDX]+disp32
002
[EBX]+disp32
003
[--][--]+disp32
004
[EBP]+disp32
005
[ESI]+disp32
006
[EDI]+disp32
007
EAX/AX/AL/MM0/XMM0
11
000
ECX/CX/CL/MM/XMM1
001
EDX/DX/DL/MM2/XMM2
002
EBX/BX/BL/MM3/XMM3
003
ESP/SP/AH/MM4/XMM4
004
EBP/BP/CH/MM5/XMM5
005
ESI/SI/DH/MM6/XMM6
006
EDI/DI/BH/MM7/XMM7
007
1.[--][--]表示 ひょうじ 随 ずい 后 きさき 的 てき SIB字 じ 节指明 あかり 寻址方式 ほうしき ; 2.Mod为11B时,表示 ひょうじ 寄 よせ 存 そん 器 き 操作 そうさ 数 すう 。对于R/M的 てき 每 まい 个值,根 ね 据 すえ 指令 しれい 码与操作 そうさ 数 すう 长度属性 ぞくせい 确定具体 ぐたい 的 てき 寄 よせ 存 そん 器 き 号 ごう 。 3.当 とう 指令 しれい 需要 じゅよう 第 だい 2操作 そうさ 数 すう 时,由 ゆかり Reg/Opcode的 てき 3位 い 给出。第 だい 2操作 そうさ 数 すう 只 ただ 能 のう 是 ぜ 寄 よせ 存 そん 器 き 操作 そうさ 数 すう 。寄 よせ 存 そん 器 き 的 てき 指定 してい 方式 ほうしき ,与 あずか Mod为11B时指定 してい 作 さく 为第1操作 そうさ 数 すう 的 てき 寄 よせ 存 そん 器 き 的 てき 方式 ほうしき 完全 かんぜん 相 しょう 同 どう 。
某 ぼう 些ModR/M字 じ 节表示 ひょうじ 的 てき 寻找模 も 式 しき ,需要 じゅよう SIB字 じ 节来补充寻址方式 ほうしき 。scale表示 ひょうじ 比例 ひれい 系 けい 数 すう ;index表示 ひょうじ 变址寄 よせ 存 そん 器 き 号 ごう ;base表示 ひょうじ 基 もと 址 し 寄 よせ 存 そん 器 き 号 ごう 。使用 しよう scale与 あずか index的 てき 5位 い 定 じょう 义比例 ひれい 变址寄 よせ 存 そん 器 き 如下:
比例 ひれい 变址
Scale
Index
[EAX]
00
000
[ECX]
001
[EDX]
002
[EBX]
003
无
004
[EBP]
005
[ESI]
006
[EDI]
007
[EAX*2]
01
000
[ECX*2]
001
[EDX*2]
002
[EBX*2]
003
无
004
[EBP*2]
005
[ESI*2]
006
[EDI*2]
007
[EAX*4]
10
000
[ECX*4]
001
[EDX*4]
002
[EBX*4]
003
无
004
[EBP*4]
005
[ESI*4]
006
[EDI*4]
007
[EAX*8]
11
000
[ECX*8]
001
[EDX*8]
002
[EBX*8]
003
无
004
[EBP*8]
005
[ESI*8]
006
[EDI*8]
007
3位 い base表示 ひょうじ 的 てき 基 もと 址 し 寄 よせ 存 そん 器 き 号 ごう ,定 てい 义如下 か :
EAX
ECX
EDX
EBX
ESP
[*]
ESI
EDI
000
001
002
003
004
005
006
007
[*]有 ゆう 两种含义:1.如果Mod为00B,则[scaled index] + disp32,即 そく 没 ぼつ 有 ゆう 基 もと 址 し 寄 よせ 存 そん 器 き 。 2.如果Mod为01B或 ある 10B,表示 ひょうじ 基 もと 址 し 寄 よせ 存 そん 器 き 为EBP。
在 ざい 汇编程 ほど 序 じょ 设计中 ちゅう ,一般 いっぱん 把 わ 第 だい 1操作 そうさ 数 すう 的 てき 寻址方式 ほうしき 总结为如下 か 8种:
寻址方式 ほうしき
英文 えいぶん 术语
举例
立 たて 即 そく (数 かず )寻址
immediate addressing
mov EAX, 01F2H
寄 よせ 存 そん 器 き 寻址
register addressing
mov EAX, ESI
直接 ちょくせつ 寻址
direct addressing
mov EAX, DWORD PTR [1FFA00H]
寄 よせ 存 そん 器 き 间接寻址
register indirect addressing
mov EAX, DWORD PTR [EBX]
基 もと 址 し 加 か 变址寻址
base-plus-index addressing
mov EAX, DWORD PTR [EBX+ESI]
寄 よせ 存 そん 器 き 相 しょう 对寻址 し 或 ある 基 もと 址 し 相 しょう 对寻址 し
register relative addressing
mov EAX, DWORD PTR [EDI+01F4H]
基 もと 址 し 相 しょう 对加变址寻址
base relative-plus-index addressing
mov EAX, DWORD PTR 01F4H[EDI+EBX]
比例 ひれい 变址寻址
scaled-index addressing
mov EAX, DWORD PTR 01F4H[EDI*8+EBX]
综合指令 しれい 格式 かくしき 中 ちゅう 的 てき ModR/M与 あずか SIB两个字 じ 节的语义规定,指令 しれい 的 てき 第 だい 1操作 そうさ 数 すう 的 てき 寻址方式 ほうしき 可 か 总结为4种物理 ぶつり 实现:
立 たて 即 そく 数 すう :表示 ひょうじ 在 ざい 指令 しれい 的 てき “立 たて 即 そく 数 すう ”部分 ぶぶん 。包括 ほうかつ 了 りょう 直接 ちょくせつ 寻址,即 そく 立 たて 即 そく 数 すう 作 さく 为内存 そん 的 てき 地 ち 址 し 。
寄 よせ 存 そん 器 き 操作 そうさ 数 すう :Mod为11B,根 ね 据 すえ R/B部分 ぶぶん 的 てき 值、指令 しれい 码、操作 そうさ 数 すう 长度属性 ぞくせい ,确定具体 ぐたい 的 てき 寄 よせ 存 そん 器 き 号 ごう 。
基 もと 址 し 相 しょう 对寻址 し :即 そく [Reg+disp8或 ある disp32]。包括 ほうかつ 了 りょう 寄 よせ 存 そん 器 き 间接寻址。这种情 じょう 况计算 さん 第 だい 1操作 そうさ 数 すう 地 ち 址 し 时使用 しよう 了 りょう 1个寄存 そん 器 き 。
基 もと 址 し 加 か 比例 ひれい 变址的 てき 相 しょう 对寻址 し :即 そく [BaseReg+IndexReg*scale+disp8或 ある disp32]。这种情 じょう 况计算 さん 第 だい 1操作 そうさ 数 すう 地 ち 址 し 时使用 しよう 了 りょう 2个寄存 そん 器 き 。
某 ぼう 些寻址 し 方式 ほうしき 需要 じゅよう 给出位 い 移 うつり 值。有 ゆう 些指令 れい 需要 じゅよう 给出立 しゅったつ 即 そく 数 すう 作 さく 为操作 そうさ 数 すう 。
目前 もくぜん 仍在設計 せっけい 、生產 せいさん 並 なみ 販賣 はんばい x86處理 しょり 器 き 的 てき 公司 こうし 包括 ほうかつ :
曾經設計 せっけい 、生產 せいさん 並 なみ 販賣 はんばい x86處理 しょり 器 き ,但 ただし 現 げん 已 やめ 退出 たいしゅつ x86處理 しょり 器 き 市場 いちば 的 てき 公司 こうし 包括 ほうかつ :
人物 じんぶつ 处理器 き 平台 ひらだい 技 わざ 术子 こ 公司 こうし 其他产品 官 かん 司 し 诉讼相關 そうかん
已 やめ 停 とま 產 さん
現有 げんゆう 產品 さんぴん
平台 ひらだい
列 れつ 表 ひょう 相關 そうかん
x86 汇编器 き 与 あずか 汇编语言
相 あい 关话题汇编器 き 使用 しよう 汇编语言编程