現代X86彙編語言程式設計

現代X86彙編語言程式設計

《現代X86彙編語言程式設計》是2016年10月1日機械工業出版社出版的圖書,由[美] 丹尼爾·卡斯沃姆編寫。

基本介紹

  • 中文名:現代X86彙編語言程式設計
  • 作者:[美] 丹尼爾·卡斯沃姆
  • 譯者:張銀奎
  • 出版時間:2016年10月1日
  • 出版社:機械工業出版社
  • 頁數:477 頁
  • ISBN:9787111542780
  • 定價:79.00 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

 本書從套用編程的角度解釋x86處理器的內部架構和執行環境,全面介紹如何用x86彙編語言編寫可被高級語言調用的函式。主要內容包括:x86-32核心架構(第1章和第2章),x87浮點單元(第3章和第4章),MMX技術(第5章和第6章),流式SIMD擴展(第7章至第11章),高級向量擴展(第12章至第16章),x86-64核心架構(第17章和第18章),x86-64SSE和AVX(第19章和第20章),高級主題(第21章和第22章)。書中包含了大量的示例代碼,以幫助讀者快速理解x86彙編語言編程和x86平台的計算資源。本書可作為高等院校計算機及相關專業學生的教材,也可供想要學習x86彙編語言編程的軟體開發者使用。

圖書目錄

出版者的話
譯者序
前言
關於技術審校者
第1章x86-32核心架構 1
1.1 簡史 1
1.2 數據類型 3
1.2.1 基本數據類型 3
1.2.2 數值數據類型 4
1.2.3 組合數據類型 5
1.2.4 其他數據類型 6
1.3 內部架構 6
1.3.1 段暫存器 7
1.3.2 通用暫存器 7
1.3.3 EFLAGS暫存器 8
1.3.4 指令指針 9
1.3.5 指令運算元 9
1.3.6 記憶體定址模式 10
1.4 指令集瀏覽 11
1.4.1 數據傳輸 13
1.4.2 二進制算術 13
1.4.3 數據比較 14
1.4.4 數據轉換 14
1.4.5 邏輯運算 14
1.4.6 旋轉和移位 15
1.4.7 位元組設定和二進制位串 15
1.4.8 串 16
1.4.9 標誌操縱 16
1.4.10 控制轉移 17
1.4.11 其他指令 17
1.5 總結 17
第2章x86-32核心編程 18
2.1 開始 18
2.1.1 第一個彙編語言函式 19
2.1.2 整數乘法和除法 22
2.2 x86-32編程基礎 24
2.2.1 調用約定 25
2.2.2 記憶體定址模式 28
2.2.3 整數加法 31
2.2.4 條件碼 34
2.3 數組 38
2.3.1 一維數組 39
2.3.2 二維數組 42
2.4 結構體 47
2.4.1 簡單結構體 47
2.4.2 動態結構體創建 50
2.5 字元串 52
2.5.1 字元計數 52
2.5.2 字元串拼接 54
2.5.3 比較數組 57
2.5.4 反轉數組 60
2.6 總結 62
第3章x87浮點單元 63
3.1 x87 FPU核心架構 63
3.1.1 數據暫存器 63
3.1.2 x87 FPU專用暫存器 64
3.1.3 x87 FPU運算元和編碼 65
3.2 x87 FPU指令集 68
3.2.1 數據傳輸 68
3.2.2 基本運算 69
3.2.3 數據比較 70
3.2.4 超越函式 71
3.2.5 常量 71
3.2.6 控制 72
3.3 總結 72
第4章x87 FPU編程 73
4.1 x87 FPU編程基礎 73
4.1.1 簡單計算 73
4.1.2 浮點比較 76
4.2 x87 FPU高級編程 79
4.2.1 浮點數組 79
4.2.2 超越指令(超越函式指令) 84
4.2.3 棧的高級套用 87
4.3 總結 92
第5章MMX技術 93
5.1 SIMD處理概念 93
5.2 迴繞和飽和運算 94
5.3 MMX執行環境 95
5.4 MMX指令集 96
5.4.1 數據傳輸 97
5.4.2 算術運算 97
5.4.3 比較 98
5.4.4 轉換 99
5.4.5 邏輯和位移 99
5.4.6 解組和重排 99
5.4.7 插入和提取 100
5.4.8 狀態和快取控制 100
5.5 總結 100
第6章MMX技術編程 101
6.1 MMX編程基礎 101
6.1.1 組合整型加法 102
6.1.2 組合整型移位 108
6.1.3 組合整型乘法 111
6.2 MMX高級編程 113
6.2.1 整數數組處理 114
6.2.2 使用MMX和x87 FPU 120
6.3 總結 125
第7章流式SIMD擴展 126
7.1 x86-SSE概覽 126
7.2 x86-SSE執行環境 127
7.2.1 x86-SSE暫存器組 127
7.2.2 x86-SSE數據類型 128
7.2.3 x86-SSE的控制-狀態暫存器 128
7.3 x86-SSE處理技術 129
7.4 x86-SSE指令集概覽 132
7.4.1 標量浮點數據傳輸 133
7.4.2 標量浮點算術運算 133
7.4.3 標量浮點比較 134
7.4.4 標量浮點轉換 134
7.4.5 組合浮點數據傳輸 135
7.4.6 組合浮點算術運算 135
7.4.7 組合浮點比較 136
7.4.8 組合浮點轉換 136
7.4.9 組合浮點重排和解組 137
7.4.10 組合浮點插入和提取 137
7.4.11 組合浮點混合 137
7.4.12 組合浮點邏輯 138
7.4.13 組合整數擴展 138
7.4.14 組合整數數據傳輸 138
7.4.15 組合整數算術運算 139
7.4.16 組合整數比較 139
7.4.17 組合整數轉換 139
7.4.18 組合整數重排和解組 140
7.4.19 組合整數插入和提取 140
7.4.20 組合整數混合 141
7.4.21 組合整數移位 141
7.4.22 文本字元串處理 141
7.4.23 非臨時數據傳輸和快取控制 142
7.4.24 其他 142
7.5 總結 143
第8章x86-SSE編程——標量浮點 144
8.1 標量浮點運算基礎 144
8.1.1 標量浮點算術運算 144
8.1.2 標量浮點數的比較 148
8.1.3 標量浮點數的類型轉換 151
8.2 高級標量浮點編程 157
8.2.1 用標量浮點指令計算球體表面積和體積 157
8.2.2 用標量浮點指令計算平行四邊形面積和對角線長度 159
8.3 總結 165
第9章x86-SSE編程——組合浮點 166
9.1 組合浮點運算基礎 166
9.1.1 組合浮點算術運算 167
9.1.2 組合浮點數的比較 171
9.1.3 組合浮點數的類型轉換 175
9.2 高級組合浮點編程 178
9.2.1 組合浮點數最小二乘法 178
9.2.2 用組合浮點數進行4×4矩陣的計算 183
9.3 總結 192
第10章 x86-SSE編程——組合整數 193
10.1 組合整數基礎 193
10.2 高級組合整數編程 197
10.2.1 組合整數直方圖 197
10.2.2 組合整數閾值分割 203
10.3 總結 214
第11章 x86-SSE編程——字元串 215
11.1 字元串基礎知識 215
11.2 字元串編程 221
11.2.1 計算字元串長度 221
11.2.2 字元替換 224
11.3 總結 231
第12章 AVX——高級向量擴展 232
12.1 x86-AVX概述 232
12.2 x86-AVX執行環境 233
12.2.1 x86-AVX暫存器組 233
12.2.2 x86-AVX數據類型 233
12.2.3 x86-AVX指令語法 234
12.3 x86-AVX功能擴展 235
12.4 x86-AVX指令集概述 236
12.4.1 升級版的x86-SSE指令 236
12.4.2 新指令 239
12.4.3 功能擴展指令 242
12.5

相關詞條

熱門詞條

聯絡我們