匯編語言程序設(shè)計

-
【作 者】葛建梅 等編著
【I S B N 】978-7-5084-2938-9
【責(zé)任編輯】吳萍
【適用讀者群】本科
【出版時間】2005-08-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】2005年08月第1版
【頁 數(shù)】292
【千字?jǐn)?shù)】
【印 張】
【定 價】¥26
【叢 書】21世紀(jì)高等院校計算機(jī)科學(xué)與技術(shù)規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要以Intel 8086微處理器為背景,并兼顧Intel 80x86及Pentium微處理器,介紹了匯編語言程序設(shè)計的概念、原理、方法和技術(shù)。全書共分10章,主要內(nèi)容包括:微機(jī)基礎(chǔ)知識、尋址方式、8086指令系統(tǒng)、80x86、Pentium增強(qiáng)和擴(kuò)展指令、程序設(shè)計方法、高級匯編技術(shù)、系統(tǒng)功能調(diào)用、輸入輸出程序設(shè)計和模塊化程序設(shè)計及上機(jī)操作方法。每章配有適量習(xí)題,書后附有上機(jī)實驗指導(dǎo)和習(xí)題答案。
本書結(jié)構(gòu)清晰、內(nèi)容豐富、實例恰當(dāng),突出了匯編語言程序設(shè)計的一般方法和技巧、方便教師教學(xué)和讀者學(xué)習(xí)。可作為計算機(jī)專業(yè)及計算機(jī)相關(guān)專業(yè)本、專科“匯編語言程序設(shè)計”課程的教材,也可作為從事相關(guān)技術(shù)工作人員的參考書。
“匯編語言程序設(shè)計”是計算機(jī)專業(yè)的重要基礎(chǔ)課,它不僅是微型計算機(jī)原理、操作系統(tǒng)、計算機(jī)接口技術(shù)等其他核心課程的先行課,而且對于訓(xùn)練學(xué)生掌握程序設(shè)計技術(shù)和程序調(diào)試技術(shù)均能起到重要作用。
匯編語言是用戶能夠利用計算機(jī)硬件特性,直接控制硬件的程序設(shè)計語言。利用匯編語言可以編寫時間和空間效率較高的程序,計算機(jī)的一些系統(tǒng)程序就是使用匯編語言編寫的。在某些領(lǐng)域,匯編語言仍然是必不可少的編程語言之一。由此決定了匯編語言程序設(shè)計是計算機(jī)專業(yè)及相關(guān)專業(yè)人員必須接受的專業(yè)基礎(chǔ)訓(xùn)練之一,因此,作為計算機(jī)專業(yè)的學(xué)生,學(xué)習(xí)和掌握匯編語言程序設(shè)計方法是非常必要的。我們在總結(jié)多年教學(xué)實踐經(jīng)驗的基礎(chǔ)上,編寫了這本《匯編語言程序設(shè)計》教程。
采用Intel 80x86/Pentium系列微處理器的微型計算機(jī)在國內(nèi)得到了廣泛使用,為了適應(yīng)學(xué)生的認(rèn)知規(guī)律,由淺入深、循序漸進(jìn)地掌握匯編語言程序設(shè)計方法與技巧,本書主要以Intel 8086微處理器為基礎(chǔ)和線索,系統(tǒng)地介紹了Intel 8086微處理器的特點、匯編語言程序結(jié)構(gòu)、數(shù)據(jù)組織、簡單的匯編語言程序設(shè)計、復(fù)雜的匯編程序設(shè)計和高級匯編技術(shù)。在詳細(xì)介紹以上知識的基礎(chǔ)上,在相應(yīng)章節(jié)還擴(kuò)充了適合Intel 80x86/Pentium系列微處理器的相關(guān)知識,如Intel 80486及Pentium微處理器的結(jié)構(gòu)、存儲管理、適用于Intel 80x86/Pentium系列微處理器的尋址方式、增強(qiáng)和擴(kuò)展的指令等,為日后采用Intel 80x86/Pentium系列微機(jī)進(jìn)行匯編語言程序設(shè)計奠定了堅實的基礎(chǔ)。
本書共分10章。第1章是基礎(chǔ)知識,概括地介紹了匯編語言和計算機(jī)中數(shù)的表示;第2章介紹了Intel 8086、80486及Pentium系列微處理器的結(jié)構(gòu)及存儲器的組成與原理;第3章詳細(xì)介紹了尋址方式和指令系統(tǒng)中常用指令的格式、功能及使用方法,這些內(nèi)容是利用匯編語言進(jìn)行程序設(shè)計的基礎(chǔ);第4章主要討論了匯編語句、偽指令和匯編語言的程序結(jié)構(gòu);第5~8章系統(tǒng)地介紹了順序、分支、循環(huán)、子程序、串操作和高級匯編語言程序設(shè)計的方法,這是匯編語言程序設(shè)計的核心內(nèi)容;第9章主要介紹了中斷和輸入/輸出程序設(shè)計方法;第10章介紹了模塊化程序設(shè)計方法。每章配有適量的習(xí)題,例題和習(xí)題均已調(diào)試通過。另外,為方便教學(xué),本書還配有實驗指導(dǎo),共設(shè)有七個實驗,給出了實驗?zāi)康摹⒁蠛蛢?nèi)容,并設(shè)置了設(shè)計和驗證兩種類型的實驗題,以利讀者在鞏固書本知識的基礎(chǔ)上,培養(yǎng)創(chuàng)新素質(zhì)。
本書由葛建梅、孫海、邵珠富等編著。葛建梅編寫了第3章、第4章,并負(fù)責(zé)全書的組織策劃、修改補(bǔ)充和統(tǒng)稿定稿工作;孫海編寫了第1章、第8章、第9章、第10章和DEBUG綜合實驗;邵珠富編寫了第5章、第7章;劉艷編寫了第2章和第6章;魯靜軒輔助編寫了3.7節(jié)、4.6節(jié)中的內(nèi)容,并完成了本書全部程序的調(diào)試與驗證;任冬梅編寫了上機(jī)實驗指導(dǎo)中的實驗一到實驗六和附錄。苗巍、張淑英、尹健慧、張玲玲、王成喜、黃耀霖、薛京麗等同志參與了資料整理、討論編寫大綱工作。
由于編者水平有限,書中難免存在疏漏,敬請同行專家和廣大讀者指正。
第1章 基礎(chǔ)知識 1
1.1 匯編語言程序設(shè)計概述 1
1.1.1 機(jī)器語言 1
1.1.2 匯編語言 1
1.1.3 為什么要學(xué)習(xí)和使用匯編語言 2
1.2 進(jìn)位計數(shù)制及其相互轉(zhuǎn)換 2
1.2.1 進(jìn)位計數(shù)制 2
1.2.2 各種數(shù)制間的相互轉(zhuǎn)換 4
1.3 計算機(jī)中數(shù)的表示 6
1.3.1 原碼表示法 7
1.3.2 補(bǔ)碼表示法 7
1.3.3 反碼表示法 8
1.3.4 移碼表示法 8
1.3.5 補(bǔ)碼的加法和減法運算 8
1.3.6 定點數(shù)和浮點數(shù) 9
1.4 計算機(jī)中字符的表示 11
1.4.1 ASCII碼 11
1.4.2 BCD碼 12
習(xí)題 12
第2章 IBM PC計算機(jī)系統(tǒng)結(jié)構(gòu) 14
2.1 Intel8086微處理器的功能結(jié)構(gòu) 14
2.1.1 執(zhí)行部件與總線接口部件 16
2.1.2 Intel8086CPU寄存器的結(jié)構(gòu) 19
2.1.3 標(biāo)志寄存器(FR)及其用途 20
2.2 存儲器 21
2.2.1 主存儲器的組成 21
2.2.2 8086存儲器的組織 22
2.3 堆棧(Stack) 24
2.3.1 堆棧的構(gòu)造 24
2.3.2 8086堆棧的組織 25
2.3.3 堆棧操作 25
2.4 Intel80486和Pentium微處理器的結(jié)構(gòu)及存儲管理 26
2.4.1 80486和Pentium微處理器的結(jié)構(gòu) 26
2.4.2 80486和Pentium微處理器寄存器結(jié)構(gòu) 30
2.4.3 80486和Pentium存儲管理 35
習(xí)題 35
第3章 指令系統(tǒng)和尋址方式 37
3.1 匯編指令格式 37
3.2 尋址方式 38
3.2.1 立即尋址 38
3.2.2 寄存器尋址 39
3.2.3 存儲器尋址 39
3.2.4 隱含固定尋址 44
3.2.5 80x86擴(kuò)充的尋址方式 45
3.2.6 轉(zhuǎn)移地址尋址方式 46
3.3 8086指令系統(tǒng) 47
3.3.1 指令描述約定 47
3.3.2 數(shù)據(jù)傳送指令 48
3.3.3 算術(shù)運算指令 54
3.3.4 位操作指令 67
3.3.5 處理器控制指令 73
3.4 80x86及Pentium擴(kuò)展指令 74
3.4.1 80286增強(qiáng)和擴(kuò)展指令 74
3.4.2 80386增強(qiáng)和擴(kuò)展指令 75
3.4.3 80486新增指令 78
3.4.4 Pentium新增指令 79
習(xí)題 79
第4章 匯編語言與源程序結(jié)構(gòu) 82
4.1 匯編語言源程序與匯編程序 82
4.2 匯編語言語句種類及其格式 83
4.2.1 指令語句 84
4.2.2 偽指令語句 84
4.2.3 標(biāo)識符 85
4.3 匯編語言數(shù)據(jù)與運算符 85
4.3.1 常量 85
4.3.2 變量 87
4.3.3 標(biāo)號 90
4.3.4 表達(dá)式和運算符 90
4.4 偽指令 97
4.4.1 數(shù)據(jù)定義偽指令 98
4.4.2 符號定義偽指令 98
4.4.3 段結(jié)構(gòu)偽指令 99
4.4.4 源程序開始和結(jié)束偽指令 101
4.4.5 定位偽指令ORG與匯編地址計數(shù)器 102
4.4.6 過程定義偽指令PROC/ENDP 103
4.5 源程序結(jié)構(gòu)模式 103
4.5.1 用INT 21H返回DOS的程序結(jié)構(gòu)模式 103
4.5.2 用過程返回DOS的程序結(jié)構(gòu)模式 104
4.6 匯編語言程序的上機(jī)過程 105
4.6.1 編輯 105
4.6.2 匯編 106
4.6.3 連接 107
4.6.4 調(diào)試與運行 108
習(xí)題 110
第5章 程序設(shè)計基礎(chǔ) 112
5.1 程序設(shè)計概述 112
5.2 順序結(jié)構(gòu)程序設(shè)計 112
5.3 分支結(jié)構(gòu)程序設(shè)計 114
5.3.1 轉(zhuǎn)移指令 115
5.3.2 分支程序設(shè)計 119
5.4 循環(huán)結(jié)構(gòu)程序設(shè)計 128
5.4.1 循環(huán)程序的結(jié)構(gòu) 128
5.4.2 循環(huán)指令 130
5.4.3 循環(huán)控制方法和程序舉例 132
習(xí)題 140
第6章 子程序設(shè)計及系統(tǒng)調(diào)用 141
6.1 調(diào)用程序與子程序 141
6.2 調(diào)用與返回指令 141
6.3 子程序設(shè)計 143
6.3.1 子程序定義 143
6.3.2 子程序的調(diào)用與返回 143
6.3.3 現(xiàn)場保護(hù)與恢復(fù) 146
6.3.4 參數(shù)的傳遞方式 147
6.3.5 子程序調(diào)用舉例 151
6.3.6 子程序的嵌套與遞歸 155
6.4 DOS系統(tǒng)功能調(diào)用 157
6.4.1 系統(tǒng)功能調(diào)用方法 157
6.4.2 常用的DOS功能調(diào)用 157
習(xí)題 159
第7章 非數(shù)值運算 161
7.1 串操作 161
7.1.1 串操作指令 161
7.1.2 串操作應(yīng)用舉例 164
7.2 表的處理 170
7.2.1 表的構(gòu)造 170
7.2.2 表的插入與刪除 172
7.2.3 排序 176
7.2.4 查找 181
7.3 代碼轉(zhuǎn)換 182
7.3.1 二進(jìn)制數(shù)與ASCII碼間的相互轉(zhuǎn)換 183
7.3.2 二進(jìn)制數(shù)與BCD碼間的相互轉(zhuǎn)換 184
習(xí)題 188
第8章 高級語言匯編技術(shù) 190
8.1 宏匯編 190
8.1.1 宏定義 190
8.1.2 宏調(diào)用和宏展開 191
8.1.3 宏調(diào)用中的參數(shù)使用 192
8.1.4 宏嵌套 194
8.1.5 宏匯編中的偽指令 195
8.1.6 宏庫 196
8.1.7 宏與子程序的區(qū)別 198
8.2 重復(fù)匯編 198
8.2.1 使用REPT偽指令的重復(fù)匯編結(jié)構(gòu) 198
8.2.2 使用IRP偽指令的重復(fù)匯編結(jié)構(gòu) 199
8.2.3 使用IRPC偽指令的重復(fù)匯編結(jié)構(gòu) 199
8.3 條件匯編偽指令 200
習(xí)題 202
第9章 輸入/輸出程序設(shè)計 203
9.1 輸入/輸出指令 203
9.1.1 I/O端口尋址 203
9.1.2 輸入/輸出指令 204
9.2 輸入/輸出控制方式 207
9.2.1 程序控制方式 207
9.2.2 中斷控制方式 210
9.2.3 直接存儲器存取方式 210
9.3 中斷 212
9.3.1 中斷的概念 212
9.3.2 中斷源、中斷類型碼和中斷優(yōu)先級 213
9.3.3 中斷矢量表 215
9.3.4 中斷過程 216
9.3.5 軟中斷及有關(guān)的中斷指令 219
9.4 BIOS中斷調(diào)用 219
9.4.1 鍵盤輸入中斷調(diào)用 220
9.4.2 顯示器輸出控制中斷調(diào)用 221
9.4.3 時間中斷調(diào)用 225
9.4.4 中斷調(diào)用程序舉例 225
習(xí)題 228
第10章 模塊化程序設(shè)計 229
10.1 模塊化程序設(shè)計概述 229
10.1.1 模塊化程序設(shè)計概念 229
10.1.2 模塊化程序設(shè)計的優(yōu)點 229
10.1.3 模塊劃分的原則和方法 229
10.2 段的定義 230
10.2.1 定位類型 231
10.2.2 組合類型 231
10.2.3 類別 232
10.3 模塊間的通信 232
10.4 模塊的連接 234
10.4.1 源程序級間的裝配連接 234
10.4.2 目標(biāo)文件級間的裝配連接 235
10.5 源程序綜合舉例 237
習(xí)題 241
上機(jī)實驗指導(dǎo) 242
附錄A DOS功能調(diào)用INT 21H 265
附錄B BIOS中斷 271
附錄C MASM 5.0宏匯編出錯信息 276
附錄D DEBUG命令表 282
附錄E ASCII碼表 283
參考文獻(xiàn) 284
- Python程序設(shè)計案例教程(微課版) [主編 石利平 田輝平 余以勝]
- Java面向?qū)ο蟪绦蛟O(shè)計 [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計實驗指導(dǎo)與實訓(xùn)(第二版) [主編 倪燃]
- Python程序設(shè)計及實踐教程 [肖朝暉]
- C語言程序設(shè)計 [魏琴 劉祖珉 趙仕波 肖陽春]
- C語言程序設(shè)計實驗教程 [張小剛 司春景]
- 電氣控制與PLC程序設(shè)計(第二版) [胡冠山]
- Java Web項目化設(shè)計實踐教程 [邱云 曾陳萍]
- C語言程序設(shè)計(第三版) [主編 丁紅 王立新 蔡開立]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- Python程序設(shè)計與應(yīng)用(第二版) [主編 張廣淵]
- C程序設(shè)計實踐教程 [劉衛(wèi)國]
- C程序設(shè)計(慕課版) [劉衛(wèi)國]
- 程序設(shè)計基礎(chǔ)實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項目式教程 [陳亞峰]
- C語言程序設(shè)計習(xí)題與實驗指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實應(yīng)用開發(fā)實踐 [主 編 劉龍]
- Python程序設(shè)計 [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計 [主編 張勇 張平華 趙小龍]
- Python程序設(shè)計基礎(chǔ)及實戰(zhàn) [主編 劉健]
- C語言程序設(shè)計 [姜雪]
- Python程序設(shè)計實踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計實踐教程(第三版) [主編 劉衛(wèi)國 曹岳輝]
- C++程序設(shè)計(第三版) [主編 曹岳輝 劉衛(wèi)國]
- C語言程序設(shè)計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機(jī)器人流程自動化(RPA)實戰(zhàn)——基于UiPath [主編 金鑫]
- 大學(xué)計算機(jī)基礎(chǔ)實驗教程
- 計算機(jī)體系結(jié)構(gòu)(第二版)
- Delphi程序設(shè)計與應(yīng)用教程
- 匯編語言程序設(shè)計
- 微機(jī)原理與接口
- 計算機(jī)系統(tǒng)結(jié)構(gòu)
- 操作系統(tǒng)原理
- Visual Basic語言程序設(shè)計實驗教程
- Visual Basic語言程序設(shè)計教程
- 大學(xué)計算機(jī)基礎(chǔ)
- 數(shù)據(jù)結(jié)構(gòu)——用C語言描述
- 微機(jī)原理、匯編語言與接口技術(shù)
- 數(shù)據(jù)庫原理及應(yīng)用
- 微機(jī)原理及接口技術(shù)
- 大學(xué)計算機(jī)基礎(chǔ)
- 網(wǎng)絡(luò)設(shè)備配置與管理