彙編語言程式設計(第5版)

彙編語言程式設計(第5版)

《彙編語言程式設計(第5版)》是2018年6月電子工業出版社出版的圖書,作者是錢曉捷。

基本介紹

  • 中文名:彙編語言程式設計(第5版)
  • 作者:錢曉捷
  • ISBN:9787121315886
  • 頁數:368頁
  • 定價:52元
  • 出版社:電子工業出版社
  • 出版時間:2018年6月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書為“十二五”普通高等教育本科國家級規劃教材,是教育部‐微軟精品課程教學成果。本書以Intel 80x86指令系統和MASM 6.x為主體,共10章,分為基礎嘗拔恥和提高兩部分。前5章為基礎部分,以當前騙頁“彙編語言程式設計”課程的教學為目標,講解16位基本整數指令及其彙編語言程式設計的知識,包括:彙編語言程式設計基礎知識,8086指令詳解,MASM偽指令和操作符,程多和盛體序格式,程式結構及其設計方法。後5章為提高部分,介紹彙編語言程式設計的深入內容和實際套用知識,包括:32位80x86 CPU的整數指令系統及其編程,彙編語言與C/C++混合編程,80x87 FPU浮點指令系統及其編程,多媒體擴展指令系統及其編程,64位指令簡介。本書可作為高等院校“彙編語言程式設計”課程的教材或參考書。本書內容廣博、語言淺顯、結構清晰、實例豐富,也適合電子信息、自動控制等專業的高校學生和成教學嬸簽重生、計算機套用開發人員、深入學習微機套用技術的普通讀者閱讀。

圖書目錄

第1章 彙編語言基礎知識 1
1.1 計算機系統概述 1
1.1.1 計算機的硬體 1
1.1.2 計算機的軟體 3
1.1.3 計算機的程式設計語言 3
1.2 數據表示 5
1.2.1 數制 5
1.2.2 數值的編碼 8
1.2.3 字元的編碼 10
1.3 Intel 80x86系列微處理器 13
1.3.1 16位80x86微處理器 13
1.3.2 IA-32微處理器 14
1.3.3 Intel 64處理器 15
1.4 微型計算機系統 16
1.5.1 8086的功能結構 18
1.5.2 8086的暫存器 19
1.5.3 8086的存儲器組織 22
1.6 8086的定址方式 25
1.6.1 8086的機器代碼格式 26
1.6.2 立即數定址方式 27
1.6.4 存儲器定址方式 28
1.6.5 數據定址的組合 30
習題1 31
第2章 8086的指令系統 33
2.1 數據傳送類指令 33
2.1.1 通用數據傳送指令 33
2.1.2 堆疊操作指令 36
2.1.3 標誌傳送指令 38
2.1.4 地址傳送指令 39
2.2 算術運算類指令 39
2.2.1 狀態標誌 39
2.2.2 加法指令 41
2.2.3 減法指令 42
2.2.4 乘法指令 44
2.2.5 除法指令 44
2.2.6 符號擴展指令 45
2.2.7 十進制調整指令 46
2.3 位操作類指令 49
2.3.1 邏輯運算指令 49
2.3.2 移位指令 50
2.3.3 循環移位指令 51
2.4 控制轉移類指令 52
2.4.1 無條件轉移指令 53
2.4.2 條件轉移指葛鞏嘗令 54
2.4.3 循環指令 57
2.4.4 子程式指令 58
2.4.5 中斷指令 59
2.5 處理機控制類指令 61
習題2 63
第3章 彙編語言程式格式 68
3.1 彙編語言程式的開發 68
3.1.1 彙編語言程式的語句格式 68
3.1.2 彙編語言的源程式框架 70
3.1.3 彙編語言程式的開發過程 73
3.1.4 DOS系統功能調用 82
3.2 參數、變數和標號 84
3.2.1 數值型參數 84
3.2.2 變數定義偽指令 86
3.2.3 變數和標號的屬性 90
3.3 程式段的定義和屬性 92
3.3.1 DOS的程式結構 92
3.3.2 簡化段定義的格式 93
3.3.3 完漏永榆整段定義的格式 97
3.4 複雜數據結構 100
3.4.1 結構 100
3.4.2 記錄 102
習題3 103
第4章 基本彙編語言程式設計 106
4.1 順序程式設計 106
4.2 分支程式設計 107
4.2.1 單分支結構 107
4.2.2 雙分支結構 108
4.2.3 多分支夜熱道漿結構 109
4.3 循環程式設計 112
4.3.1 計數控制循環 113
4.3.2 條件控制循環 114
4.3.3 多重循環 115
4.3.4 串操作類指令 116
4.4 子程式設計 121
4.4.1 過程定義偽指令 122
4.4.2 子程式的參數傳遞 124
4.4.3 子程式的嵌套、遞歸和重入 127
4.4.4 子程式的套用 129
習題4 134
第5章 高級彙編語言程式設計 137
5.1 高級語言特性 137
5.1.1 條件控制偽指令 137
5.1.2 循環控制偽指令 139
5.1.3 過程聲明和過程調用偽指令 141
5.2 宏結構程式設計 143
5.2.1 宏彙編 144
5.2.2 重複彙編 149
5.2.3 條件彙編 150
5.3 模組化程式設計 153
5.3.1 源程式檔案的包含 153
5.3.2 目標代碼檔案的連線 158
5.3.3 子程式庫的調入 160
5.4 輸入 / 輸出程式設計 162
5.4.1 輸入/輸出指令 163
5.4.2 程式直接控制輸入/輸出 164
5.4.3 程式查詢輸入/輸出 165
習題5 173
第6章 32位指令及其編程 176
6.1 32位CPU的指令運行環境 176
6.1.1 暫存器 177
6.1.2 定址方式 179
6.1.3 機器代碼格式 180
6.2 32位擴展指令 182
6.2.1 數據傳送類指令 182
6.2.2 算術運算類指令 184
6.2.3 位操作類指令 185
6.2.4 串操作類指令 185
6.2.5 控制轉移類指令 186
6.3 DOS下的32位程式設計 189
6.4 32位新增指令 193
6.4.1 80386新增指令 193
6.4.2 80486新增指令 196
6.4.3 Pentium新增指令 197
6.4.4 Pentium Pro新增指令 201
6.5 用彙編語言編寫32位Windows應用程式 202
6.5.1 32位Windows應用程式的特點 203
6.5.2 32位Windows控制台程式 204
6.5.3 Windows應用程式的開發 208
6.5.4 創建訊息視窗 209
6.5.5 創建視窗應用程式 210
習題6 217
第7章 彙編語言與C/C++的混合編程 221
7.1 Turbo C嵌入彙編方式 221
7.1.1 嵌入彙編語句的格式 222
7.1.2 彙編語句訪問C語言的數據 223
7.1.3 嵌入彙編的編譯過程 224
7.2 Turbo C模組連線方式 225
7.2.1 混合編程的約定規則 225
7.2.2 彙編模組的編譯和連線 227
7.2.3 混合編程的參數傳遞 228
7.2.4 彙編語言程式對C語言程式的調用 235
7.3 彙編語言在Visual C++中的套用 238
7.3.1 嵌入彙編語言指令 238
7.3.2 調用彙編語言過程 241
7.3.3 使用彙編語言最佳化C++代碼 245
7.3.4 使用Visual C++開發彙編語言程式 248
習題7 251
第8章 80x87浮點指令及其編程 254
8.1 浮點數據格式 254
8.1.1 實數和浮點格式 254
8.1.2 80x87的數據格式 257
8.3 浮點指令的程式設計 262
8.3.1 浮點傳送類指令 263
8.3.2 算術運算類指令 265
8.3.3 超越函式類指令 268
8.3.4 浮點比較類指令 269
8.3.5 FPU控制類指令 273
習題8 277
第9章 多媒體指令及其編程 280
9.1 MMX指令系統 280
9.1.1 MMX的數據結構 280
9.1.2 MMX指令 282
9.1.3 MMX指令的程式設計 289
9.2 SSE指令系統 291
9.2.1 SIMD浮點指令 291
9.2.2 SIMD整數指令 299
9.2.3 高速快取最佳化處理指令 301
9.2.4 SSE指令的程式設計 302
9.3 SSE2指令系統 306
9.3.1 SSE2的數據類型 306
9.3.2 SSE2浮點指令 307
9.3.3 SSE2擴展指令 312
9.3.4 SSE2指令的程式設計 314
9.4 SSE3指令系統 316
9.4.1 SSE3指令 316
9.4.2 SSE3指令的程式設計 318
習題9 319
第10章 64位指令簡介 321
10.1 64位方式的運行環境 321
10.2 64位方式的指令 324
附錄A 調試程式DEBUG 328
A.1 DEBUG程式的調用 328
A.2 DEBUG命令的格式 328
A.3 DEBUG的命令 329
A.4 程式片段的調試方法 333
A.5 可執行程式檔案的調試方法 334
A.6 使用調試程式的注意事項 336
附錄B 調試程式CodeView 338
B.1 CodeView的選單命令 338
B.2 CodeView的視窗 340
B.3 CodeView的設定 342
B.4 使用CodeView的調試示例 343
附錄C 彙編程式MASM的偽指令和操作符 346
附錄D 80x86整數指令系統 347
附錄E 常見彙編錯誤信息 353
附錄F 輸入/輸出子程式庫 355
參考文獻 356
2.1.4 地址傳送指令 39
2.2 算術運算類指令 39
2.2.1 狀態標誌 39
2.2.2 加法指令 41
2.2.3 減法指令 42
2.2.4 乘法指令 44
2.2.5 除法指令 44
2.2.6 符號擴展指令 45
2.2.7 十進制調整指令 46
2.3 位操作類指令 49
2.3.1 邏輯運算指令 49
2.3.2 移位指令 50
2.3.3 循環移位指令 51
2.4 控制轉移類指令 52
2.4.1 無條件轉移指令 53
2.4.2 條件轉移指令 54
2.4.3 循環指令 57
2.4.4 子程式指令 58
2.4.5 中斷指令 59
2.5 處理機控制類指令 61
習題2 63
第3章 彙編語言程式格式 68
3.1 彙編語言程式的開發 68
3.1.1 彙編語言程式的語句格式 68
3.1.2 彙編語言的源程式框架 70
3.1.3 彙編語言程式的開發過程 73
3.1.4 DOS系統功能調用 82
3.2 參數、變數和標號 84
3.2.1 數值型參數 84
3.2.2 變數定義偽指令 86
3.2.3 變數和標號的屬性 90
3.3 程式段的定義和屬性 92
3.3.1 DOS的程式結構 92
3.3.2 簡化段定義的格式 93
3.3.3 完整段定義的格式 97
3.4 複雜數據結構 100
3.4.1 結構 100
3.4.2 記錄 102
習題3 103
第4章 基本彙編語言程式設計 106
4.1 順序程式設計 106
4.2 分支程式設計 107
4.2.1 單分支結構 107
4.2.2 雙分支結構 108
4.2.3 多分支結構 109
4.3 循環程式設計 112
4.3.1 計數控制循環 113
4.3.2 條件控制循環 114
4.3.3 多重循環 115
4.3.4 串操作類指令 116
4.4 子程式設計 121
4.4.1 過程定義偽指令 122
4.4.2 子程式的參數傳遞 124
4.4.3 子程式的嵌套、遞歸和重入 127
4.4.4 子程式的套用 129
習題4 134
第5章 高級彙編語言程式設計 137
5.1 高級語言特性 137
5.1.1 條件控制偽指令 137
5.1.2 循環控制偽指令 139
5.1.3 過程聲明和過程調用偽指令 141
5.2 宏結構程式設計 143
5.2.1 宏彙編 144
5.2.2 重複彙編 149
5.2.3 條件彙編 150
5.3 模組化程式設計 153
5.3.1 源程式檔案的包含 153
5.3.2 目標代碼檔案的連線 158
5.3.3 子程式庫的調入 160
5.4 輸入 / 輸出程式設計 162
5.4.1 輸入/輸出指令 163
5.4.2 程式直接控制輸入/輸出 164
5.4.3 程式查詢輸入/輸出 165
習題5 173
第6章 32位指令及其編程 176
6.1 32位CPU的指令運行環境 176
6.1.1 暫存器 177
6.1.2 定址方式 179
6.1.3 機器代碼格式 180
6.2 32位擴展指令 182
6.2.1 數據傳送類指令 182
6.2.2 算術運算類指令 184
6.2.3 位操作類指令 185
6.2.4 串操作類指令 185
6.2.5 控制轉移類指令 186
6.3 DOS下的32位程式設計 189
6.4 32位新增指令 193
6.4.1 80386新增指令 193
6.4.2 80486新增指令 196
6.4.3 Pentium新增指令 197
6.4.4 Pentium Pro新增指令 201
6.5 用彙編語言編寫32位Windows應用程式 202
6.5.1 32位Windows應用程式的特點 203
6.5.2 32位Windows控制台程式 204
6.5.3 Windows應用程式的開發 208
6.5.4 創建訊息視窗 209
6.5.5 創建視窗應用程式 210
習題6 217
第7章 彙編語言與C/C++的混合編程 221
7.1 Turbo C嵌入彙編方式 221
7.1.1 嵌入彙編語句的格式 222
7.1.2 彙編語句訪問C語言的數據 223
7.1.3 嵌入彙編的編譯過程 224
7.2 Turbo C模組連線方式 225
7.2.1 混合編程的約定規則 225
7.2.2 彙編模組的編譯和連線 227
7.2.3 混合編程的參數傳遞 228
7.2.4 彙編語言程式對C語言程式的調用 235
7.3 彙編語言在Visual C++中的套用 238
7.3.1 嵌入彙編語言指令 238
7.3.2 調用彙編語言過程 241
7.3.3 使用彙編語言最佳化C++代碼 245
7.3.4 使用Visual C++開發彙編語言程式 248
習題7 251
第8章 80x87浮點指令及其編程 254
8.1 浮點數據格式 254
8.1.1 實數和浮點格式 254
8.1.2 80x87的數據格式 257
8.3 浮點指令的程式設計 262
8.3.1 浮點傳送類指令 263
8.3.2 算術運算類指令 265
8.3.3 超越函式類指令 268
8.3.4 浮點比較類指令 269
8.3.5 FPU控制類指令 273
習題8 277
第9章 多媒體指令及其編程 280
9.1 MMX指令系統 280
9.1.1 MMX的數據結構 280
9.1.2 MMX指令 282
9.1.3 MMX指令的程式設計 289
9.2 SSE指令系統 291
9.2.1 SIMD浮點指令 291
9.2.2 SIMD整數指令 299
9.2.3 高速快取最佳化處理指令 301
9.2.4 SSE指令的程式設計 302
9.3 SSE2指令系統 306
9.3.1 SSE2的數據類型 306
9.3.2 SSE2浮點指令 307
9.3.3 SSE2擴展指令 312
9.3.4 SSE2指令的程式設計 314
9.4 SSE3指令系統 316
9.4.1 SSE3指令 316
9.4.2 SSE3指令的程式設計 318
習題9 319
第10章 64位指令簡介 321
10.1 64位方式的運行環境 321
10.2 64位方式的指令 324
附錄A 調試程式DEBUG 328
A.1 DEBUG程式的調用 328
A.2 DEBUG命令的格式 328
A.3 DEBUG的命令 329
A.4 程式片段的調試方法 333
A.5 可執行程式檔案的調試方法 334
A.6 使用調試程式的注意事項 336
附錄B 調試程式CodeView 338
B.1 CodeView的選單命令 338
B.2 CodeView的視窗 340
B.3 CodeView的設定 342
B.4 使用CodeView的調試示例 343
附錄C 彙編程式MASM的偽指令和操作符 346
附錄D 80x86整數指令系統 347
附錄E 常見彙編錯誤信息 353
附錄F 輸入/輸出子程式庫 355
參考文獻 356

相關詞條

熱門詞條

聯絡我們