匯編語言(基於64位ARMv8體系結構)

錢曉捷

  • 出版商: 電子工業
  • 出版日期: 2022-09-01
  • 定價: $359
  • 售價: 7.5$269
  • 語言: 簡體中文
  • 頁數: 244
  • ISBN: 7121443716
  • ISBN-13: 9787121443718
  • 相關分類: ARMLinuxAssembly
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

本書基於ARMv8體系結構、在Linux平臺使用GCC編譯套件,介紹64位ARM指令集和匯編語言,內容包括匯編語言基礎知識,AArch64編程結構,整數處理、存儲器訪問、分支和調用基礎指令,匯編語言分支、循環和子程序結構,以及浮點數據處理指令、SIMD向量數據處理指令等。本書主要面向高等學校電腦、電子、通信及自動控制等信息技術類專業學生,可以作為“匯編語言”或“電腦系統原理”等課程的教材或參考書,也適合ARMv8體系結構的專業技術人員、應用開發人員,以及希望學習64位ARMv8體系結構的普通讀者和培訓班學員。

目錄大綱

目 錄
第1章 匯編語言基礎 1
1.1 電腦系統概述 1
1.1.1 電腦硬件組成 1
1.1.2 處理器的發展 3
1.1.3 ARM處理器 6
1.2 64位ARMv8編程結構 9
1.2.1 ARMv8結構基礎 9
1.2.2 ARMv8寄存器 11
1.2.3 ARMv8存儲器模型 15
1.3 64位ARM匯編語言 17
1.3.1 ARM指令集 18
1.3.2 匯編語言程序 21
1.3.3 匯編語言開發 28
習題1 32
第2章 整型數據處理 36
2.1 數據傳送 36
2.1.1 寄存器傳送指令 36
2.1.2 立即數傳送指令 37
2.2 加減運算 39
2.2.1 加減指令 39
2.2.2 帶進位的加減指令 42
2.2.3 設置標志的加減指令 42
2.3 乘除運算 44
2.3.1 乘法指令 44
2.3.2 除法指令 45
2.3.3 乘加和乘減指令 46
2.4 位操作 46
2.4.1 邏輯運算指令 46
2.4.2 移位指令 49
2.4.3 位段操作指令 50
2.5 存儲器訪問 53
2.5.1 存儲器尋址方式 53
2.5.2 載入和存儲指令 56
2.5.3 成對載入和存儲指令 58
2.5.4 地址生成指令 60
習題2 64
第3章 分支和循環程序 69
3.1 分支指令 69
3.1.1 無條件分支 69
3.1.2 條件分支 70
3.1.3 條件選擇 72
3.1.4 條件比較 74
3.2 分支程序 74
3.2.1 單分支結構 74
3.2.2 雙分支結構 77
3.2.3 多分支結構 79
3.3 循環程序 81
3.3.1 計數控制循環 82
3.3.2 條件控制循環 84
3.3.3 多重循環 88
習題3 90
第4章 模塊化程序設計 94
4.1 子程序及其調用 94
4.1.1 調用與返回指令 94
4.1.2 調用規範 96
4.1.3 模塊化方法 109
4.2 與C語言的混合編程 115
4.2.1 模塊連接 115
4.2.2 嵌入匯編 116
4.3 Linux系統功能調用 118
4.3.1 調用方法 119
4.3.2 調用示例 120
4.4 A64系統類指令 122
4.4.1 A64系統控制指令 123
4.4.2 A64特殊存儲器訪問指令 125
習題4 128
第5章 浮點數據處理 131
5.1 浮點數據類型 131
5.1.1 IEEE浮點數據格式 131
5.1.2 ARMv8浮點數據格式 136
5.1.3 浮點寄存器 138
5.2 浮點數據的存儲器訪問 140
5.3 浮點數據的傳送和轉換 142
5.3.1 浮點傳送指令 142
5.3.2 浮點格式轉換指令 145
5.4 浮點數據的運算和比較 149
5.4.1 浮點算術運算指令 149
5.4.2 浮點比較和條件選擇指令 152
習題5 158
第6章 SIMD數據處理 162
6.1 ARMv8的SIMD數據類型 162
6.1.1 向量數據和向量寄存器 162
6.1.2 SIMD數據操作 164
6.2 SIMD數據的存儲器訪問 166
6.2.1 存儲器的尋址方式 166
6.2.2 向量元素的訪問方式 167
6.3 SIMD數據的傳送和轉換 171
6.3.1 SIMD數據傳送指令 171
6.3.2 SIMD數據格式轉換指令 174
6.4 SIMD數據的運算和比較 176
6.4.1 SIMD整數運算指令 176
6.4.2 SIMD浮點運算指令 181
6.4.3 SIMD比較及條件設置指令 184
6.5 SIMD數據的特色處理 186
6.5.1 SIMD變體指令 186
6.5.2 SIMD專用指令 199
6.6 SIMD指令的編程應用 203
習題6 205
附錄A 調試程序GDB 210
A.1 常規操作 210
A.2 調試示例 215
A.3 常用命令 224
附錄B A64指令集 226
B.1 A64基礎指令集 226
B.2 A64先進SIMD指令集 229
附錄C AS匯編程序主要指示符 234
參考文獻 235