注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學匯編程序設計與計算機體系結構:軟件工程師教程

匯編程序設計與計算機體系結構:軟件工程師教程

匯編程序設計與計算機體系結構:軟件工程師教程

定 價:¥79.00

作 者: (美)布萊恩·R.霍爾,凱文·J.斯郎迦
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111615163 出版時間: 2019-04-01 包裝: 平裝
開本: 16開 頁數(shù): 312 字數(shù):  

內容簡介

  本書通過大量實例,循序漸進地講解了匯編語言的各種應用方式,并直觀地演示了怎樣把匯編語言同高級語言結合,以制作出充分發(fā)揮硬件特性的程序。書中以x86與x86_64這兩種主流架構為重點,兼顧AT&T及Intel語法,并適用于GAS、NASM及MASM這三種常見的匯編器,以及Linux、macOS及Windows這三種常用的操作系統(tǒng),這使得身處各種開發(fā)環(huán)境中的軟件工程師都能在書里找到可以直接運用的解決方案,并了解如何將其移植到其他環(huán)境。

作者簡介

  布萊恩·R. 霍爾(Brian R.Hall)任教于查普蘭學院。凱文·J.斯郎迦(Kevin J.Slonka)任教于賓夕法尼亞Highlands Community學院。

圖書目錄

出版者的話
譯者序
前言
第1章 編程語言及數(shù)據(jù)的
基礎知識 1
1.1 開篇語 1
1.2 簡介 3
1.3 計算機編程語言 3
1.3.1 語言之間的關系 3
1.3.2 翻譯流水線 3
1.3.3 編程語言與相應文件及編程工具之間的關系 6
1.3.4 為什么要學習匯編語言 7
1.4 數(shù)據(jù)的表示 8
1.4.1 計數(shù)系統(tǒng) 8
1.4.2 怎樣表示整數(shù) 8
1.4.3 怎樣表示無符號的整數(shù) 9
1.4.4 怎樣表示帶符號的整數(shù) 12
1.4.5 怎樣保存字符 14
1.5 布爾表達式 16
1.6 3位計算機示例 17
1.7 小結 18
1.8 關鍵術語 18
1.9 代碼回顧 19
1.10 習題 20
1.11 作業(yè) 21
第2章 處理器與計算機系統(tǒng)體系結構 22
2.1 簡介 22
2.2 體系結構概述 22
2.3 處理器 26
2.3.1 緩存與寄存器 27
2.3.2 64 位處理器 31
2.3.3 指令的執(zhí)行 31
2.3.4 指令流水線 32
2.4 輸入與輸出 33
2.5 小結 35
2.6 關鍵術語 35
2.7 習題 36
2.8 作業(yè) 37
第1章與第2章補充材料 與體系結構有關的更多細節(jié) 38
第3章 匯編語言及其語法的基礎知識 41
3.1 簡介 41
3.2 基本元素 42
3.2.1 匯編代碼的五大支柱 42
3.2.2 字面量 46
3.2.3 標簽與注釋 48
3.3 定義數(shù)據(jù) 49
3.4 寫出能夠正常運行的范例程序 55
3.5 小結 56
3.6 關鍵術語 56
3.7 代碼回顧 57
3.8 習題 57
3.9 作業(yè) 58
第4章 基本指令 60
4.1 簡介 60
4.2 數(shù)據(jù)的移動與算術運算 61
4.2.1 移動數(shù)據(jù) 61
4.2.2 加法與減法 62
4.2.3 乘法與除法 64
4.2.4 移位 69
4.2.5 處理負值 71
4.3 數(shù)據(jù)的尋址與傳輸 72
4.3.1 數(shù)據(jù)對齊 72
4.3.2 數(shù)據(jù)尋址 73
4.3.3 數(shù)組 75
4.3.4 改變數(shù)據(jù)的大小及類型 78
4.4 小結 79
4.5 關鍵術語 80
4.6 代碼回顧 80
4.7 習題 81
4.8 作業(yè) 81
第 5 章 中級指令 83
5.1 簡介 83
5.2 按位執(zhí)行的布爾運算 83
5.3 分支 88
5.3.1 無條件跳轉 88
5.3.2 有條件跳轉 88
5.3.3 復合條件 91
5.4 重復執(zhí)行 92
5.4.1 用 CX/ECX/RCX 計數(shù)器實現(xiàn)循環(huán) 92
5.4.2 用開發(fā)者自定義的計數(shù)器實現(xiàn)循環(huán) 94
5.5 小結 97
5.6 關鍵術語 97
5.7 代碼回顧 97
5.8 習題 98
5.9 作業(yè) 99
第 6 章 函數(shù) 100
6.1 簡介 100
6.2 棧內存入門 100
6.3 x86 與 x86_64 的調用約定 101
6.3.1 cdecl(32 位) 102
6.3.2 stdcall(32 位) 109
6.3.3 x86_64(64 位) 110
6.3.4 有用的細節(jié) 114
6.4 實現(xiàn) 114
6.5 小結 118
6.6 關鍵術語 118
6.7 重要的寄存器(32 位和
64 位) 118
6.8 代碼回顧 119
6.9 與平臺有關的注意事項 119
6.10 習題 120
6.11 作業(yè) 120
第6章補充材料 程序 6-3 122
第7章 與字符串有關的指令及結構體 123
7.1 簡介 123
7.2 輔助指令 123
7.3 基本字符串指令 125
7.3.1 MOVS 125
7.3.2 CMPS 126
7.3.3 SCAS 129
7.3.4 STOS 131
7.3.5 LODS 132
7.4 結構體 133
7.5 小結 135
7.6 關鍵術語 135
7.7 代碼回顧 135
7.8 習題 136
7.9 作業(yè) 137
第8章 浮點運算 138
8.1 簡介 138
8.2 浮點數(shù)的表示方式 139
8.2.1 IEEE表示法 139
8.2.2 特殊值 141
8.2.3 次正規(guī)數(shù) 141
8.2.4 舍入 142
8.3 浮點數(shù)的實現(xiàn) 143
8.3.1 x87 143
8.3.2 MMX——題外話 152
8.3.3 SSE 154
8.3.4 XOP、FMA3/4、F16C——分化 159
8.3.5 AVX 160
8.4 小結 161
8.5 關鍵術語 162
8.6 重要的寄存器(32位和64位) 162
8.7 代碼回顧 162
8.8 習題 164
8.9 作業(yè) 165
第8章補充材料 第8章中的程序 167
第9章 內聯(lián)匯編與宏 177
9.1 簡介 177
9.2 內聯(lián)匯編 177
9.2.1 與編譯器有關的細節(jié) 178
9.2.2 內聯(lián)式的匯編語句 178
9.2.3 為各種匯編方言提供支持 184
9.2.4 注意事項 185
9.3 宏 186
9.3.1 對比宏與函數(shù) 186
9.3.2 定義并調用宏 186
9.4 小結 188
9.5 關鍵術語 188
9.6 習題 188
9.7 作業(yè) 189
第10章 與處理器及體系結構有關的高級話題 191
10.1 簡介 191
10.2 處理器與系統(tǒng)的機能 192
10.2.1 系統(tǒng)寄存器 192
10.2.2 處理器模式 193
10.2.3 內存模型 193
10.2.4 代碼范例 197
10.3 中斷與系統(tǒng)調用 198
10.3.1 軟件中斷 198
10.3.2 硬件中斷 204
10.3.3 通過INT進行系統(tǒng)調用(舊方法) 204
10.3.4 通過SYSENTER、SYSCALL及程序庫/API進行系統(tǒng)調用(新方法) 207
10.4 小結 214
10.5 關鍵術語 215
10.6 代碼回顧 216
10.7 習題 216
10.8 作業(yè) 217
第10章補充材料 第10章中的程序和資源 218
第11章 其他架構 223
11.1 簡介 223
11.2 CISC與RISC 224
11.3 更多架構 225
11.3.1 ARM 225
11.3.2 AVR 228
11.3.3 RISC-V 231
11.3.4 System-z/Architecture 233
11.4 量子架構 234
11.5 小結 236
11.6 關鍵術語 236
11.7 習題

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號