彙編語言:基於x86處理器(原書第8版) Assembly Language for x86 Processors
Kip R.Irvine 譯 吳為民
- 出版商: 機械工業
- 出版日期: 2022-06-06
- 售價: $894
- 貴賓價: 9.5 折 $849
- 語言: 簡體中文
- 頁數: 592
- 裝訂: 平裝
- ISBN: 7111690435
- ISBN-13: 9787111690436
-
相關分類:
Assembly
- 此書翻譯自: Pearson Etext for Assembly Language for X86 Processors -- Access Card
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$352深入理解 Android 網絡編程-技術詳解與最佳實踐
-
$454Android 深度探索(捲 2)-系統應用源代碼分析與 ROM 定製(附光盤)
-
$454Android 安全攻防權威指南
-
$474$450 -
$720$648 -
$356徹底研究 : 黑客編程技術揭秘與攻防實戰
-
$790$616 -
$580$458 -
$1,280$998 -
$480$408 -
$520$411 -
$281網絡設備配置與調試項目實訓(第4版)
-
$534$507 -
$505離散數學:面向計算機科學專業
-
$449x64 匯編語言:從新手到 AVX 專家
-
$500$450 -
$458Calcite數據管理實戰
-
$407CPU 通識課
-
$528$502 -
$602Docker + Kubernetes 容器實戰派
-
$1,112游戲機圖鑒:一部游戲機進化的視覺史
-
$1,134$1,077 -
$588$559 -
$594$564 -
$768$730
相關主題
商品描述
本書專門為Intel/Windows/DOS平台編寫,
對彙編語言進行了完整且詳細的研究和講解,教授讀者在機器級編寫和調試程序。
第1~9章包含彙編語言的基本概念、x86處理器架構、彙編語言基礎、
過程等核心概念,後續章節講解了結構和宏、MS-Windows編程、浮點數處理和指令編碼等內容。
本書不僅可作為彙編語言課程的教材,
還可以作為計算機系統基礎和體系結構基礎方面的教材,符合國內所提倡的系統觀教學理念。
書中不僅講授具體問題的解決方案,而且注重幫助學生舉一反三,
綜合應用,學到的編程理念能順利應用於其他編程的課程中。
作者簡介
Kip R. Irvine
擁有邁阿密大學計算機科學碩士、音樂藝術博士學位,
現為佛羅里達國際大學高級講師,教授計算機相關的課程。
他著有多本編程教材,這些書被翻譯成多國語言,
涵蓋的主題包括彙編語言、C++、Visual Basic和COBOL。
目錄大綱
譯者序
前言
關於作者
相關碼表
第1章 基本概念 1
1.1 歡迎來到彙編語言的世界 1
1.1.1 讀者可能會問的問題 2
1.1.2 彙編語言的應用 4
1.1.3 本節回顧 5
1.2 虛擬機概念 5
1.2.1 本節回顧 6
1.3 數據表示 7
1.3.1 二進制整數 7
1.3.2 二進制加法 9
1.3.3 整數存儲大小 9
1.3.4 十六進制整數 10
1.3.5 十六進制加法 11
1.3.6 有符號二進制整數 12
1.3.7 二進制減法 14
1.3.8 字符存儲 14
1.3.9 二進制編碼的十進制數 16
1.3.10 本節回顧 16
1.4 布爾表達式 17
1.4.1 布爾函數的真值表 18
1.4.2 本節回顧 19
1.5 本章小結 20
1.6 關鍵術語 20
1.7 複習題和練習 21
1.7.1 簡答題 21
1.7.2 算法題 22
第2章 x86處理器架構 23
2.1 一般概念 23
2.1.1 基本微機設計 23
2.1.2 指令執行週期 24
2.1.3 讀取內存 25
2.1.4 加載並執行程序 26
2.1.5 本節回顧 27
2.2 32位x86處理器 27
2.2.1 操作模式 27
2.2.2 基本執行環境 28
2.2.3 x86內存管理 30
2.2.4 本節回顧 31
2.3 64位x86-64處理器 31
2.3.1 64位操作模式 32
2.3.2 基本的64位執行環境 32
2.3.3 本節回顧 33
2.4 典型x86計算機的組件 33
2.4.1 母板 33
2.4.2 內存 35
2.4.3 本節回顧 35
2.5 輸入/輸出系統 36
2.5.1 I/O訪問層次 36
2.5.2 本節回顧 38
2.6 本章小結 38
2.7 關鍵術語 39
2.8 複習題 40
第3章 彙編語言基礎 41
3.1 基本語言元素 41
3.1.1 第一個彙編語言程序 41
3.1.2 整數字面量 42
3.1.3 常整數表達式 43
3.1.4 實數字面量 43
3.1.5 字符字面量 44
3.1.6 字符串字面量 44
3.1.7 保留字 44
3.1.8 標識符 45
3.1.9 偽指令 45
3.1.10 指令 46
3.1.11 本節回顧 48
3.2 示例:整數加減法 48
3.2.1 AddTwo程序 48
3.2.2 運行和調試AddTwo程序 50
3.2.3 程序模板 54
3.2.4 本節回顧 54
3.3 彙編、鏈接和運行程序 55
3.3.1 彙編–鏈接–執行週期 55
3.3.2 列表文件 55
3.3.3 本節回顧 57
3.4 定義數據 57
3.4.1 內部數據類型 57
3.4.2 數據定義語句 58
3.4.3 向AddTwo程序添加一個變量 58
3.4.4 定義BYTE和SBYTE數據 59
3.4.5 定義WORD和SWORD數據 61
3.4.6 定義DWORD和SDWORD數據 61
3.4.7 定義QWORD數據 62
3.4.8 定義壓縮的BCD(TBYTE)數據 62
3.4.9 定義浮點類型 62
3.4.10 變量相加程序 63
3.4.11 小端序 64
3.4.12 聲明未初始化數據 64
3.4.13 本節回顧 65
3.5 符號常量 65
3.5.1 等號偽指令 66
3.5.2 計算數組和字符串的大小 67
3.5.3 EQU偽指令 68
3.5.4 TEXTEQU偽指令 68
3.5.5 本節回顧 69
3.6 64位編程介紹 70
3.7 本章小結 71
3.8 關鍵術語 72
3.8.1 術語 72
3.8.2 指令、操作符及偽指令 72
3.9 複習題和練習 73
3.9.1 簡答題 73
3.9.2 算法題 73
3.10 編程練習 74
第4章 數據傳送、尋址及算術運算 75
4.1 數據傳送指令 75
4.1.1 引言 75
4.1.2 操作數類型 75
4.1.3 直接內存操作數 76
4.1.4 MOV指令 77
4.1.5 整數的零/符號擴展 78
4.1.6 LAHF和SAHF指令 79
4.1.7 XCHG指令 80
4.1.8 直接–偏移量操作數 80
4.1.9 傳送數據的示例 81
4.1.10 本節回顧 83
4.2 加法和減法 84
4.2.1 INC和DEC指令 84
4.2.2 ADD指令 84
4.2.3 SUB指令 85
4.2.4 NEG指令 85
4.2.5 實現算術表達式 85
4.2.6 加減法影響的標誌 86
4.2.7 示例程序(AddSubTest) 88
4.2.8 本節回顧 89
4.3 與數據相關的操作符和偽指令 90
4.3.1 OFFSET操作符 90
4.3.2 ALIGN偽指令 91
4.3.3 PTR操作符 92
4.3.4 TYPE操作符 92
4.3.5 LENGTHOF操作符 93
4.3.6 SIZEOF操作符 93
4.3.7 LABEL偽指令 94
4.3.8 本節回顧 94
4.4 間接尋址 94
4.4.1 間接操作數 94
4.4.2 數組 95
4.4.3 變址操作數 96
4.4.4 指針 97
4.4.5 本節回顧 99
4.5 JMP和LOOP指令 100
4.5.1 JMP指令 100
4.5.2 LOOP指令 101
4.5.3 在Visual Studio調試器中顯示數組 102
4.5.4 整數數組求和 103
4.5.5 複製字符串 103
4.5.6 本節回顧 104
4.6 64位編程 105
4.6.1 MOV指令 105
4.6.2 64位版本的SumArray程序 105
4.6.3 加法和減法 106
4.6.4 本節回顧 107
4.7 本章小結 107
4.8 關鍵術語 109
4.8.1 術語 109
4.8.2 指令、操作符及偽指令 109
4.9 複習題和練習 109
4.9.1 簡答題 109
4.9.2 算法題 111
4.10 編程練習 112
第5章 過程 113
5.1 堆棧操作 113
5.1.1 運行時堆棧(32位模式) 113
5.1.2 PUSH和POP指令 115
5.1.3 本節回顧 118
5.2 定義和使用過程 118
5.2.1 PROC偽指令 118
5.2.2 CALL和RET指令 120
5.2.3 嵌套過程調用 120
5.2.4 向過程傳遞寄存器參數 121
5.2.5 示例:整數數組求和 122
5.2.6 保存和恢復寄存器 123
5.2.7 本節回顧 124
5.3 鏈接到外部庫 124
5.3.1 背景信息 125
5.3.2 本節回顧 125
5.4 Irvine32庫 126
5.4.1 創建庫的動機 126
5.4.2 Win32控制台窗口 127
5.4.3 各個過程的描述 128
5.4.4 庫測試程序 138
5.4.5 本節回顧 144
5.5 64位彙編編程 145
5.5.1 Irvine64庫 145
5.5.2 調用64位子例程 145
5.5.3 x64調用規約 146
5.5.4 調用過程的示例程序 146
5.5.5 本節回顧 147
5.6 本章小結 148
5.7 關鍵術語 149
5.7.1 術語 149
5.7.2 指令、操作符及偽指令 149
5.8 複習題和練習 149
5.8.1 簡答題 149
5.8.2 算法題 151
5.9 編程練習 152
第6章 條件處理 154
6.1 布爾和比較指令 154
6.1.1 CPU狀態標誌 154
6.1.2 AND指令 155
6.1.3 OR指令 156
6.1.4 位映射集 157
6.1.5 XOR指令 158
6.1.6 NOT指令 159
6.1.7 TEST指令 159
6.1.8 CMP指令 160
6.1.9 置位和清零各個CPU標誌 161
6.1.10 64位模式下的布爾指令 161
6.1.11 本節回顧 161
6.2 條件跳轉 162
6.2.1 條件結構 162
6.2.2 Jcond指令 162
6.2.3 條件跳轉指令的類型 163
6.2.4 條件跳轉應用 166
6.2.5 本節回顧 169
6.3 條件循環指令 170
6.3.1 LOOPZ和LOOPE指令 170
6.3.2 LOOPNZ和LOOPNE指令 170
6.3.3 本節回顧 171
6.4 條件結構 171
6.4.1 塊結構的IF語句 171
6.4.2 複合表達式 175
6.4.3 WHILE循環 176
6.4.4 表驅動的選擇 178
6.4.5 本節回顧 180
6.5 應用:有限狀態機 181
6.5.1 驗證輸入字符串 181
6.5.2 驗證有符號整數 182
6.5.3 本節回顧 185
6.6 條件控制流偽指令(可選主題) 186
6.6.1 創建IF語句 186
6.6.2 有符號數和無符號數的比較 188
6.6.3 複合表達式 189
6.6.4 用.REPEAT和.WHILE創建循環 191
6.7 本章小結 192
6.8 關鍵術語 193
6.8.1 術語 193
6.8.2 指令、操作符及偽指令 193
6.9 複習題和練習 194
6.9.1 簡答題 194
6.9.2 算法題 195
6.10 編程練習 196
6.10.1 對代碼測試的建議 196
6.10.2 習題描述 197
第7章 整數算術運算 200
7.1 移位和循環移位指令 200
7.1.1 邏輯移位和算術移位 200
7.1.2 SHL指令 201
7.1.3 SHR指令 202
7.1.4 SAL和SAR指令 202
7.1.5 ROL指令 203
7.1.6 ROR指令 204
7.1.7 RCL和RCR指令 204
7.1.8 有符號數溢出 205
7.1.9 SHLD/SHRD指令 205
7.1.10 本節回顧 207
7.2 移位和循環移位的應用 207
7.2.1 多個雙字的移位 208
7.2.2 通過移位做乘法 208
7.2.3 顯示二進制位 209
7.2.4 提取文件日期字段 210
7.2.5 本節回顧 210
7.3 乘法和除法指令 212
7.3.1 無符號整數乘法(MUL) 212
7.3.2 有符號整數乘法(IMUL) 213
7.3.3 測量程序執行時間 216
7.3.4 無符號整數除法(DIV) 217
7.3.5 有符號整數除法(IDIV) 219
7.3.6 實現算術表達式 222
7.3.7 本節回顧 224
7.4 擴展的加減法 225
7.4.1 ADC指令 225
7.4.2 擴展加法的示例 225
7.4.3 SBB指令 227
7.4.4 本節回顧 228
7.5 ASCII和非壓縮十進制算術運算 228
7.5.1 AAA指令 229
7.5.2 AAS指令 230
7.5.3 AAM指令 231
7.5.4 AAD指令 231
7.5.5 本節回顧 231
7.6 壓縮十進制的算術運算 232
7.6.1 DAA指令 232
7.6.2 DAS指令 233
7.6.3 本節回顧 233
7.7 本章小結 234
7.8 關鍵術語 235
7.8.1 術語 235
7.8.2 指令、操作符及偽指令 235
7.9 複習題和練習 235
7.9.1 簡答題 235
7.9.2 算法題 237
7.10 編程練習 237
第8章 高級過程 240
8.1 引言 240
8.2 堆棧幀 240
8.2.1 堆棧參數 240
8.2.2 寄存器參數的缺點 241
8.2.3 訪問堆棧參數 243
8.2.4 32位調用規約 245
8.2.5 局部變量 246
8.2.6 引用參數 247
8.2.7 LEA指令 248
8.2.8 ENTER和LEAVE指令 249
8.2.9 LOCAL偽指令 250
8.2.10 Microsoft x64調用規約 251
8.2.11 本節回顧 252
8.3 遞歸 252
8.3.1 遞歸求和 253
8.3.2 計算階乘 254
8.3.3 本節回顧 258
8.4 INVOKE、ADDR、PROC及PROTO 259
8.4.1 INVOKE偽指令 259
8.4.2 ADDR操作符 260
8.4.3 PROC偽指令 260
8.4.4 PROTO偽指令 263
8.4.5 參數分類 266
8.4.6 示例:交換兩個整數 266
8.4.7 調試提示 267
8.4.8 WriteStackFrame過程 267
8.4.9 本節回顧 268
8.5 創建多模塊程序 269
8.5.1 隱藏和導出過程名 269
8.5.2 調用外部過程 269
8.5.3 跨模塊使用變量和符號 270
8.5.4 示例:ArraySum程序 271
8.5.5 用Extern創建模塊 271
8.5.6 用INVOKE和PROTO創建模塊 274
8.5.7 本節回顧 277
8.6 參數的高級用法(可選主題) 277
8.6.1 受USES操作符影響的堆棧 277
8.6.2 向堆棧傳遞8位和16位參數 278
8.6.3 傳遞64位參數 279
8.6.4 非雙字局部變量 280
8.7 Java字節碼(可選主題) 281
8.7.1 Java虛擬機 281
8.7.2 指令集 282
8.7.3 Java反彙編示例 283
8.7.4 示例:條件分支 285
8.8 本章小結 287
8.9 關鍵術語 288
8.9.1 術語 288
8.9.2 指令、操作符及偽指令 288
8.10 複習題和練習 288
8.10.1 簡答題 288
8.10.2 算法題 289
8.11 編程練習 289
第9章 字符串和數組 291
9.1 引言 291
9.2 字符串原語指令 291
9.2.1 MOVSB、MOVSW及MOVSD 292
9.2.2 CMPSB、CMPSW及CMPSD 293
9.2.3 SCASB、SCASW及SCASD 293
9.2.4 STOSB、STOSW及STOSD 294
9.2.5 LODSB、LODSW及LODSD 294
9.2.6 本節回顧 294
9.3 若干字符串過程 295
9.3.1 Str_compare過程 295
9.3.2 Str_length過程 296
9.3.3 Str_copy過程 297
9.3.4 Str_trim過程 297
9.3.5 Str_ucase過程 299
9.3.6 字符串庫演示程序 300
9.3.7 Irvine64庫中的字符串過程 301
9.3.8 本節回顧 304
9.4 二維數組 304
9.4.1 行列順序 304
9.4.2 基址–變址操作數 305
9.4.3 基址–變址–位移操作數 306
9.4.4 64位模式下的基址–變址操作數 307
9.4.5 本節回顧 308
9.5 整數數組的查找和排序 308
9.5.1 冒泡排序 309
9.5.2 對半查找 310
9.5.3 本節回顧 315
9.6 Java字節碼:字符串處理(可選主題) 315
9.7 本章小結 316
9.8 關鍵術語和指令 317
9.9 複習題和練習 317
9.9.1 簡答題 317
9.9.2 算法題 318
9.10 編程練習 318
第10章 結構和宏 322
10.1 結構 322
10.1.1 定義結構 322
10.1.2 聲明結構對象 323
10.1.3 引用結構對象 324
10.1.4 示例:顯示系統時間 327
10.1.5 結構包含結構 329
10.1.6 示例:醉漢行走 329
10.1.7 聲明和使用聯合 332
10.1.8 本節回顧 334
10.2 宏 334
10.2.1 概述 334
10.2.2 定義宏 335
10.2.3 調用宏 336
10.2.4 其他宏特性 337
10.2.5 使用本書的宏庫(僅32位模式) 340
10.2.6 示例程序:封裝器 345
10.2.7 本節回顧 346
10.3 條件彙編偽指令 347
10.3.1 檢查缺失的參數 347
10.3.2 默認參數初始化值 348
10.3.3 布爾表達式 348
10.3.4 IF、ELSE及ENDIF偽指令 349
10.3.5 IFIDN和IFIDNI偽指令 349
10.3.6 示例:矩陣行求和 350
10.3.7 特殊操作符 353
10.3.8 宏函數 356
10.3.9 本節回顧 357
10.4 定義重複語句塊 357
10.4.1 WHILE偽指令 358
10.4.2 REPEAT偽指令 358
10.4.3 FOR偽指令 358
10.4.4 FORC偽指令 359
10.4.5 示例:鍊錶 360
10.4.6 本節回顧 361
10.5 本章小結 362
10.6 關鍵術語 363
10.6.1 術語 363
10.6.2 操作符及偽指令 363
10.7 複習題和練習 364
10.7.1 簡答題 364
10.7.2 算法題 364
10.8 編程練習 366
第11章 MS-Windows編程 368
11.1 Win32控制台編程 368
11.1.1 背景信息 368
11.1.2 Win32控制台函數 371
11.1.3 顯示消息框 373
11.1.4 控制台輸入 375
11.1.5 控制台輸出 380
11.1.6 讀寫文件 382
11.1.7 Irvine32庫中的文件I/O 385
11.1.8 測試文件I/O過程 386
11.1.9 控制台窗口操作 389
11.1.10 控制光標 392
11.1.11 控製文本顏色 392
11.1.12 時間和日期函數 394
11.1.13 使用64位Windows API 397
11.1.14 本節回顧 398
11.2 編寫圖形化的Windows應用程序 398
11.2.1 必要的結構 399
11.2.2 MessageBox函數 400
11.2.3 WinMain過程 400
11.2.4 WinProc過程 401
11.2.5 ErrorHandler過程 401
11.2.6 程序清單 402
11.2.7 本節回顧 405
11.3 動態內存分配 405
11.3.1 HeapTest程序 408
11.3.2 本節回顧 411
11.4 32位x86存儲管理 411
11.4.1 線性地址 412
11.4.2 頁轉換 414
11.4.3 本節回顧 416
11.5 本章小結 416
11.6 關鍵術語 417
11.7 複習題和練習 417
11.7.1 簡答題 417
11.7.2 算法題 418
11.8 編程練習 418
第12章 浮點數處理和指令編碼 420
12.1 浮點數的二進製表示 420
12.1.1 IEEE二進制浮點數表示 420
12.1.2 階數 421
12.1.3 規格化二進制浮點數 422
12.1.4 創建IEEE表示 422
12.1.5 將十進制分數轉換為二進制實數 424
12.1.6 本節回顧 425
12.2 浮點單元 425
12.2.1 FPU寄存器棧 426
12.2.2 舍入 428
12.2.3 浮點異常 429
12.2.4 浮點指令集 429
12.2.5 算術運算指令 432
12.2.6 比較浮點數值 435
12.2.7 讀寫浮點數值 437
12.2.8 異常同步 438
12.2.9 代碼示例 439
12.2.10 混合模式算術運算 440
12.2.11 屏蔽和非屏蔽異常 441
12.2.12 本節回顧 442
12.3 x86指令編碼 443
12.3.1 指令格式 443
12.3.2 單字節指令 444
12.3.3 將立即數送入寄存器 444
12.3.4 寄存器模式指令 445
12.3.5 處理器操作數大小前綴 446
12.3.6 內存模式指令 446
12.3.7 本節回顧 448
12.4 本章小結 449
12.5 關鍵術語 450
12.6 複習題和練習 450
12.6.1 簡答題 450
12.6.2 算法題 451
12.7 編程練習 452
第13章 高級語言接口 454
13.1 引言 454
13.1.1 通用規約 454
13.1.2 .MODEL偽指令 455
13.1.3 檢查編譯器生成的代碼 457
13.1.4 本節回顧 460
13.2 內聯彙編代碼 461
13.2.1 Visual C++中的_?_asm偽指令 461
13.2.2 文件加密示例 463
13.2.3 本節回顧 465
13.3 將32位彙編語言代碼鏈接到C/C++ 466
13.3.1 IndexOf示例 466
13.3.2 調用C和C++函數 469
13.3.3 乘法表的示例 471
13.3.4 本節回顧 474
13.4 本章小結 474
13.5 關鍵術語 474
13.6 複習題 474
13.7 編程練習 475
第14章 16位MS-DOS編程 476
14.1 MS-DOS和IBM-PC 476
14.1.1 內存組織 476
14.1.2 重定向輸入/輸出 478
14.1.3 軟件中斷 478
14.1.4 INT指令 478
14.1.5 16位程序的代碼編寫 479
14.1.6 本節回顧 481
14.2 MS-DOS功能調用(INT 21h) 481
14.2.1 若干輸出功能 482
14.2.2 Hello World程序示例 483
14.2.3 若干輸入功能 484
14.2.4 日期/時間功能 487
14.2.5 本節回顧 490
14.3 標準的MS-DOS文件I/O服務 490
14.3.1 創建或打開文件(716Ch) 491
14.3.2 關閉文件句柄(3Eh) 492
14.3.3 移動文件指針(42h) 493
14.3.4 獲取文件創建日期和時間 493
14.3.5 若干庫過程 494
14.3.6 示例:讀取和復制一個文本文件 495
14.3.7 讀取MS-DOS命令的尾部 496
14.3.8 示例:創建二進製文件 498
14.3.9 本節回顧 501
14.4 本章小結 501
14.5 關鍵術語 503
14.6 編程練習 503
第15章 磁盤基礎知識 505
15.1 磁盤存儲系統 505
15.1.1 磁道、柱面及扇區 505
15.1.2 磁盤分區(卷) 506
15.1.3 本節回顧 507
15.2 文件系統 508
15.2.1 FAT12 508
15.2.2 FAT16 509
15.2.3 FAT32 509
15.2.4 NTFS 509
15.2.5 主磁盤區 510
15.2.6 本節回顧 510
15.3 磁盤目錄 511
15.3.1 MS-DOS目錄結構 512
15.3.2 MS-Windows中的長文件名 513
15.3.3 文件分配表 515
15.3.4 本節回顧 515
15.4 讀寫磁盤扇區 515
15.4.1 扇區顯示程序 517
15.4.2 本節回顧 520
15.5 系統級文件功能 520
15.5.1 獲取磁盤空閒空間(7303h) 520
15.5.2 創建子目錄(39h) 523
15.5.3 刪除子目錄(3Ah) 523
15.5.4 設置當前目錄(3Bh) 523
15.5.5 獲取當前目錄(47h) 524
15.5.6 獲取和設置文件屬性(7143h) 524
15.5.7 本節回顧 525
15.6 本章小結 525
15.7 關鍵術語 526
15.8 編程練習 526
第16章 BIOS級編程 528
16.1 引言 528
16.1.1 BIOS數據區 528
16.2 使用INT 16h進行鍵盤輸入 529
16.2.1 鍵盤如何工作 530
16.2.2 INT 16h功能 530
16.2.3 本節回顧 534
16.3 使用INT 10h進行視頻編程 534
16.3.1 基本背景 534
16.3.2 控制顏色 536
16.3.3 INT 10h視頻功能 537
16.3.4 庫過程示例 546
16.3.5 本節回顧 547
16.4 使用INT 10h繪製圖形 547
16.4.1 INT 10h與像素有關的功能 548
16.4.2 程序DrawLine 548
16.4.3 笛卡爾坐標程序 550
16.4.4 將笛卡爾坐標轉換為屏幕坐標 552
16.4.5 本節回顧 552
16.5 內存映射的圖形 553
16.5.1 模式13h:320×200,256色 553
16.5.2 內存映射圖形程序 554
16.5.3 本節回顧 556
16.6 鼠標編程 557
16.6.1 鼠標INT 33h功能 557
16.6.2 鼠標跟踪程序 561
16.6.3 本節回顧 565
16.7 本章小結 565
16.8 編程練習 566
網絡資源
附錄A MASM參考知識
附錄B x86指令集
附錄C BIOS和MS-DOS中斷
附錄D “本節回顧”的問題答案(第14~16章)
詞彙表