彙編語言(第4版)

彙編語言(第4版)

《彙編語言(第4版)》是2019年12月清華大學出版社出版的圖書,作者是王爽。

基本介紹

  • 中文名:彙編語言(第4版)
  • 作者:王爽
  • 出版社:清華大學出版社
  • 出版時間:2019年12月
  • 定價:49 元
  • ISBN:9787302539414
內容簡介,圖書目錄,

內容簡介

彙編語言是各種CPU提供的機器指令的助記符的集合,人們可以用彙編語言直接控制硬體系統進行工作。彙編語言是很多相關課程(如數據結構、作業系統、微機原理等)的重要基礎。為了更好地引導、幫助讀者學習彙編語言,作者以循序漸進的思想精心創作了這本書。《彙編語言(第4版)》具有如下特點:採用了全新的結構對課程的內容進行組織,對知識進行最小化分割,為讀者構造了循序漸進的學習線索;在深入本質的層面上對彙編語言進行講解;對關鍵環節進行深入的剖析。
《彙編語言(第4版)》可用作大學計算機專業本科生的彙編語言教材及希望深入學習計算機科學的讀者的自學教材。

圖書目錄

第1章 基礎知識 1
1.1 機器語言 1
1.2 彙編語言的產生 3
1.3 彙編語言的組成 3
1.4 存儲器 4
1.5 指令和數據 4
1.6 存儲單元 4
1.7 CPU對存儲器的讀寫 5
1.8 地址匯流排 6
1.9 數據匯流排 7
1.10 控制匯流排 8
1.11 記憶體地址空間(概述) 9
1.12 主機板 9
1.13 接口卡 9
1.14 各類存儲器晶片 10
1.15 記憶體地址空間 11
第2章 暫存器 14
2.2 字在暫存器中的存儲 16
2.3 幾條彙編指令 17
2.4 物理地址 20
2.5 16位結構的CPU 20
2.6 8086CPU給出物理地址的方法 20
2.7 “段地址?16+偏移地址=物理地址”
的本質含義 22
2.8 段的概念 23
2.9 段暫存器 25
2.10 CS和IP 25
2.11 修改CS、IP的指令 32
2.12 代碼段 34
實驗1 查看CPU和記憶體,用機器指令
和彙編指令編程 35
第3章 暫存器(記憶體訪問) 47
3.1 記憶體中字的存儲 47
3.2 DS和[address] 48
3.3 字的傳送 49
3.4 mov、add、sub指令 51
3.5 數據段 53
3.6 棧 56
3.7 CPU提供的棧機制 57
3.8 棧頂超界的問題 61
3.9 push、pop指令 63
3.10 棧段 68
實驗2 用機器指令和彙編指令編程 71
第4章 第一個程式 76
4.1 一個源程式從寫出到執行的過程 76
4.2 源程式 77
4.3 編輯源程式 82
4.4 編譯 83
4.5 連線 85
4.6 以簡化的方式進行編譯和連線 88
4.7 1.exe的執行 89
4.8 誰將執行檔中的程式裝載進入
記憶體並使它運行? 89
4.9 程式執行過程的跟蹤 91
實驗3 編程、編譯、連線、跟蹤 94
第5章 [BX]和loop指令 95
5.1 [BX] 97
5.2 Loop指令 99
5.3 在Debug中跟蹤用loop指令實現的
循環程式 103
5.4 Debug和彙編編譯器masm對指令的
不同處理 110
5.5 loop和[bx]的聯合套用 112
5.6 段前綴 116
5.7 一段安全的空間 117
5.8 段前綴的使用 120
實驗4 [bx]和loop的使用 121
第6章 包含多個段的程式 123
6.1 在代碼段中使用數據 123
6.2 在代碼段中使用棧 127
6.3 將數據、代碼、棧放入不同的段 130
實驗5 編寫、調試具有多個段的程式 133
第7章 更靈活的定位記憶體地址的
方法 138
7.1 and和or指令 138
7.2 關於ASCII碼 139
7.3 以字元形式給出的數據 139
7.4 大小寫轉換的問題 140
7.5 [bx+idata] 143
7.6 用[bx+idata]的方式進行數組的
處理 144
7.7 SI和DI 147
7.8 [bx+si]和[bx+di] 149
7.9 [bx+si+idata]和[bx+di+idata] 150
7.10 不同的定址方式的靈活套用 152
實驗6 實踐課程中的程式 160
第8章 數據處理的兩個基本問題 161
8.1 bx、si、di和bp 161
8.2 機器指令處理的數據在什麼地方 162
8.3 彙編語言中數據位置的表達 162
8.4 定址方式 164
8.5 指令要處理的數據有多長 165
8.6 定址方式的綜合套用 166
8.7 div指令 169
8.8 偽指令dd 170
8.9 dup 171
實驗7 定址方式在結構化數據訪問中
的套用 172
第9章 轉移指令的原理 175
9.1 操作符offset 175
9.2 jmp 指令 176
9.3 依據位移進行轉移的jmp指令 177
9.4 轉移的目的地址在指令中的jmp
指令 180
9.5 轉移地址在暫存器中的jmp指令 181
9.6 轉移地址在記憶體中的jmp指令 182
9.7 jcxz指令 184
9.8 loop指令 185
9.9 根據位移進行轉移的意義 186
9.10 編譯器對轉移位移超界的檢測 186
實驗8 分析一個奇怪的程式 187
實驗9 根據材料編程 187
第10章 CALL和RET指令 190
10.1 ret和retf 190
10.2 call指令 192
10.3 依據位移進行轉移的call指令 192
10.4 轉移的目的地址在指令中的call
指令 193
10.5 轉移地址在暫存器中的call指令 194
10.6 轉移地址在記憶體中的call指令 194
10.7 call和ret的配合使用 196
10.8 mul指令 199
10.9 模組化程式設計 200
10.10 參數和結果傳遞的問題 200
10.11 批量數據的傳遞 201
10.12 暫存器衝突的問題 203
實驗10 編寫子程式 206
課程設計1 211
第11章 標誌暫存器 213
11.1 ZF標誌 213
11.2 PF 標誌 214
11.3 SF 標誌 215
11.4 CF 標誌 216
11.5 OF 標誌 217
11.6 adc 指令 219
11.7 sbb指令 222
11.8 cmp指令 222
11.9 檢測比較結果的條件轉移指令 225
11.10 DF標誌和串傳送指令 230
11.11 pushf和popf 233
11.12 標誌暫存器在Debug中的表示 234
實驗11 編寫子程式 234
第12章 內中斷 236
12.1 內中斷的產生 236
12.2 中斷處理程式 237
12.4 中斷過程 238
12.5 中斷處理程式和iret指令 239
12.6 除法錯誤中斷的處理 240
12.7 編程處理0號中斷 240
12.8 安裝 244
12.9 do0 246
12.10 設定中斷向量 249
12.11 單步中斷 249
12.12 回響中斷的特殊情況 250
實驗12 編寫0號中斷的處理程式 251
第13章 int指令 252
13.1 int指令 252
13.2 編寫供應用程式調用的中斷例程 253
13.3 對int、iret和棧的深入理解 256
13.4 BIOS和DOS所提供的中斷例程 258
13.5 BIOS和DOS中斷例程的安裝
過程 258
13.6 BIOS中斷例程套用 259
13.7 DOS中斷例程套用 261
實驗13 編寫、套用中斷例程 262
第14章 連線埠 265
14.1 連線埠的讀寫 265
14.2 CMOS RAM晶片 266
14.3 shl和shr指令 267
14.4 CMOS RAM中存儲的時間信息 269
實驗14 訪問CMOS RAM 271
第15章 外中斷 272
15.1 接口晶片和連線埠 272
15.2 外中斷信息 272
15.3 PC機鍵盤的處理過程 274
15.4 編寫int 9中斷例程 276
15.5 安裝新的int 9中斷例程 282
實驗15 安裝新的int 9中斷例程 285
第16章 直接定址表 287
16.1 描述了單元長度的標號 287
16.2 在其他段中使用數據標號 289
16.3 直接定址表 292
16.4 程式入口地址的直接定址表 296
實驗16 編寫包含多個功能子程式的
中斷例程 299
第17章 使用BIOS進行鍵盤輸入
和磁碟讀寫 300
17.1 int 9中斷例程對鍵盤輸入的處理 300
17.2 使用int 16h中斷例程讀取鍵盤
緩衝區 301
17.3 字元串的輸入 304
17.4 套用int 13h中斷例程對磁碟進行
讀寫 308
實驗17 編寫包含多個功能子程式的
中斷例程 310
課程設計2 312
綜合研究 314
研究試驗1 搭建一個精簡的C語言
開發環境 315
研究試驗2 使用暫存器 318
研究試驗3 使用記憶體空間 319
研究試驗4 不用main函式編程 322
研究試驗5 函式如何接收不定數量的
參數 326
附註 327
附註1 Intel系列微處理器的3種工作
模式 327
附註2 補碼 329
附註3 彙編編譯器(masm.exe)對jmp的
相關處理 330
附註4 用棧傳遞參數 333
附註5 公式證明 336

相關詞條

熱門詞條

聯絡我們