編輯推薦
《普通高等教育“九五”國家教委重點教材·清華大學計算機系列教材:IBM PC彙編語言程式設計(第2版)》已伴隨著計算機科學與技術的發展茁壯成長了三十餘年,獲得了中華人民共和國教育部科技進步獎、普通高等學校優秀教材全國特等獎、全國優秀暢銷書金獎等三十多項部級以上獎勵,被近千所高校選作教材,教學效果非常好。本套教材經過多次修訂改版和增加新品種、新內容、新技術,基本涵蓋了本科生和碩士研究生的主要課程。本套教材的作者全部是清華大學計算機系的教師,教材的內容、語言特點、課時安排體現了他們治學嚴謹的特點,概念表述嚴謹,邏輯推理嚴密,語言精練。同時,本套教材體系完整、結構嚴謹,理論結合實際,注重素質培養。
《普通高等教育“九五”國家教委重點教材·清華大學計算機系列教材:IBM PC彙編語言程式設計(第2版)》特色:
概念正確,思路清晰,內容組織上別具匠心。如第5章在介紹循環與分支程式設計的同時,集中列舉了線性表的程式;第6章在介紹子程式設計的同時,著重討論了不同記數制間的轉換用彙編語言實現的方法和程式。兩條主線清晰分明,使讀者易於融會貫通。
在教材中注意體現了“機器”與“程式”相互結合這一思想,使學生對“計算機”的認識更加深入。
實例豐富,實用性強。書中提供了大量可正確運行的實例,便於讀者把所學的知識快速用於實際中,提高了對枯燥的彙編語言的學習興趣。
由淺入深,結構合理。便於教師組織教學,便於對不同的學時數不同的對象取禽章節。
內容簡介
《普通高等教育“九五”國家教委重點教材·清華大學計算機系列教材:IBM PC彙編語言程式設計(第2版)》主要闡述80x86彙編語言程式設計方法和技術。全書共分四部分:第1章和第2章為基礎知識部分;第3章和第4章為編程工具部分,主要內容為80x86的指令系統與定址方式,以及包括偽操作在內的彙編語言程式格式;第5章~第9章說明編程方法,內容包括循環、分支、子程式等基本程式結構,程式設計的基本方法和技術,多模組連線技術,宏彙編技術,以中斷為主的輸入輸出程式設計方法,以及BIOS和DOS系統功能調用;第10章和第11章為實際套用部分,說明圖形顯示、發聲和磁碟檔案存取技術。全書提供了大量程式實例,每章後均附有習題。
本書是在1991年第1版的基礎上,融會了10年來教學與科研的新成果改編成的。其第1版曾先後獲得過原電子工業部工科電子類專業優秀教材一等獎、教育部科技進步一等獎、國家科技進步三等獎等;受到廣大讀者的歡迎,累計發行達130多萬冊。
本書適用於高等院校以及大、中專院校作為“彙編語言程式設計”課程的教材。本書也適於初學者使用,只要具有一種高級語言程式設計基礎的讀者,都可通過學習本書掌握彙編語言程式設計技術。
作者簡介
沈美明,1959年畢業於清華大學自動控制系計算機專業,留校任教至今。現為清華大學計算機系教授、博士生導師。多年來一直從事“彙編語言程式設計”課程的教學工作以及並行與分布計算機系統、並行程式開發環境等方面的科研工作。先後主持多項國家“863”計畫、國防科技預研和自然科學基金項目等。近年來和合作者一起在國內外刊物和學術會議上發表論文80餘篇。曾獲國家科技進步三等獎,並多次獲部委級科技進步獎。
溫冬嬋,1970年畢業於清華大學自動控制系,現為清華大學計算機系副主任、教授。多年來一直承擔“彙編語言程式設計”課程的教學工作。科研方向為並行與分布計算機系統、並行編譯技術等。參加了多項國家“863”計畫、國防預研和自然科學基金項目等,曾多次獲得國家部委科技進步獎,所編寫的教材獲得部委一等獎和國家科技進步三等獎。
近年來,與他人合著學術專著一部,編著和翻譯著作9本,在國內外刊物和學術會議上發表論文50餘篇。
目錄
再版前言Ⅰ第1章基礎知識1
1.1進位記數制與不同基數的數之間的轉換1
1.1.1二進制數1
1.1.2二進制數和十進制數之間的轉換2
1.1.3十六進制數及其與二進制、十進制數之間的轉換4
1.2二進制數和十六進制數運算6
1.2.1二進制數運算6
1.2.2十六進制數運算6
1.3計算機中數和字元的表示7
1.3.1數的補碼錶示7
1.3.2補碼的加法和減法9
1.3.3無符號整數11
1.3.4字元表示法11
1.4幾種基本的邏輯運算12
1.4.1“與”運算(AND)12
1.4.2“或”運算(OR)13
1.4.3“非”運算(NOT)13
1.4.4“異或”運算(XORExclusive\|OR)13
習題14第2章80x86計算機組織15
2.180x86微處理器15
2.2基於微處理器的計算機系統構成17
2.2.1硬體17
2.2.2軟體18
2.3中央處理機19
2.3.1中央處理機CPU的組成19
2.3.280x86暫存器組20
2.4存儲器24
2.4.1存儲單元的地址和內容24
2.4.2實模式存儲器定址26
2.4.3保護模式存儲器定址30
2.5外部設備31
習題33第3章80x86的指令系統和定址方式35
3.180x86的定址方式36
3.1.1與數據有關的定址方式36
3.1.2與轉移地址有關的定址方式44
3.2程式占有的空間和執行時間46
3.380x86的指令系統47
3.3.1數據傳送指令47
3.3.2算術指令58
3.3.3邏輯指令68
3.3.4串處理指令75
3.3.5控制轉移指令85
3.3.6處理機控制與雜項操作指令104
習題107第4章彙編語言程式格式117
4.1彙編程式功能117
4.2偽操作118
4.2.1處理器選擇偽操作118
4.2.2段定義偽操作118
4.2.3程式開始和結束偽操作126
4.2.4數據定義及存儲器分配偽操作127
4.2.5表達式賦值偽操作EQU133
4.2.6地址計數器與對準偽操作134
4.2.7基數控制偽操作136
4.3彙編語言程式格式137
4.3.1名字項137
4.3.2操作項138
4.3.3運算元項138
4.3.4注釋項144
4.4彙編語言程式的上機過程146
4.4.1建立彙編語言的工作環境146
4.4.2建立ASM檔案146
4.4.3用MASM程式產生OBJ檔案147
4.4.4用LINK程式產生EXE檔案152
4.4.5程式的執行153
4.4.6COM檔案153
習題155第5章循環與分支程式設計160
5.1循環程式設計160
5.1.1循環程式的結構形式160
5.1.2循環程式設計方法161
5.1.3多重循環程式設計172
5.2分支程式設計176
5.2.1分支程式的結構形式176
5.2.2分支程式設計方法176
5.2.3跳躍表法180
5.3如何在實模式下發揮80386及其後繼機型的優勢183
5.3.1充分利用高檔機的32位字長特性184
5.3.2通用暫存器可作為指針暫存器187
5.3.3與比例因子有關的定址方式188
5.3.4各種機型提供的新指令191
習題193
第6章子程式結構196
6.1子程式的設計方法196
6.1.1過程定義偽操作196
6.1.2子程式的調用和返回198
6.1.3保存與恢復暫存器198
6.1.4子程式的參數傳送199
6.1.5增強功能的過程定義偽操作217
6.2子程式的嵌套224
6.3子程式舉例225
習題240第7章高級彙編語言技術246
7.1宏彙編246
7.1.1宏定義、宏調用和宏展開246
7.1.2宏定義中的參數249
7.1.3LOCAL偽操作252
7.1.4在宏定義內使用宏253
7.1.5列表偽操作255
7.1.6宏庫的建立與調用258
7.1.7PURGE偽操作261
7.2重複彙編261
7.2.1重複偽操作262
7.2.2不定重複偽操作264
7.3條件彙編265
7.3.1條件偽操作IF的使用舉例266
7.3.2條件偽操作IF1的使用舉例268
7.3.3條件偽操作IFNDEF的使用舉例270
7.3.4條件偽操作IFB的使用舉例274
7.3.5條件偽操作IFIDN的使用舉例276
習題278第8章輸入輸出程式設計282
8.1I/O設備的數據傳送方式282
8.1.1CPU與外設282
8.1.2直接存儲器存取(DMA)方式282
8.2程式直接控制I/O方式283
8.2.1I/O連線埠283
8.2.2I/O指令284
8.2.3I/O程式舉例285
8.3中斷傳送方式289
8.3.18086的中斷分類290
8.3.2中斷向量表293
8.3.3中斷過程296
8.3.4中斷優先權和中斷嵌套297
8.3.5中斷處理程式299
習題313第9章BIOS和DOS中斷315
9.1鍵盤I/O316
9.1.1字元碼與掃描碼317
9.1.2BIOS鍵盤中斷318
9.1.3DOS鍵盤功能調用319
9.2顯示器I/O324
9.2.1字元屬性324
9.2.2BIOS顯示中斷327
9.2.3DOS顯示功能調用335
9.3印表機I/O336
9.3.1DOS列印功能337
9.3.2印表機的控制字元338
9.3.3BIOS列印功能342
9.4串列通信口I/O345
9.4.1串列通信接口346
9.4.2串列口功能調用348
習題353第10章圖形與發聲系統的程式設計355
10.1顯示方式355
10.1.1顯示解析度355
10.1.2BIOS設定顯示方式356
10.2視頻顯示存儲器359
10.2.1圖形存儲器映像359
10.2.2數據到顏色的轉換361
10.2.3直接視頻顯示363
10.3EGA/VGA圖形程式設計367
10.3.1讀寫像素367
10.3.2圖形方式下的文本顯示373
10.3.3彩色繪圖程式376
10.3.4動畫顯示技術381
10.4通用發聲程式383
10.4.1可程式時間間隔定時器8253/54384
10.4.2揚聲器驅動方式387
10.4.3通用發聲程式388
10.4.480x86PC的時間延遲390
10.5樂曲程式392
10.5.1音調與頻率和時間的關係392
10.5.2演奏樂曲的程式393
10.5.3鍵盤控制發聲程式396
習題397第11章磁碟檔案存取技術400
11.1磁碟的記錄方式400
11.1.1磁碟記錄信息的地址400
11.1.2磁碟系統區和數據區402
11.1.3磁碟目錄及檔案分配表402
11.2檔案代號式磁碟存取404
11.2.1路徑名和ASCIZ串405
11.2.2檔案代號和錯誤返回代碼406
11.2.3檔案屬性407
11.2.4寫磁碟檔案408
11.2.5讀磁碟檔案413
11.2.6移動讀寫指針417
11.3字元設備的檔案代號式I/O423
11.4BIOS磁碟存取功能427
11.4.1BIOS磁碟操作427
11.4.2狀態位元組429
11.4.3BIOS磁碟操作舉例430
習題433附錄435
附錄180x86指令系統一覽435
附錄2偽操作與操作符454
附錄3中斷向量地址一覽469
附錄4DOS系統功能調用(INT21H)471
附錄5BIOS功能調用477參考文獻482