微機原理與匯編語言程序設計(第二版)
-
【作 者】主編 荊淑霞
【I S B N 】978-7-5170-1799-8
【責任編輯】宋俊娥
【適用讀者群】本專通用
【出版時間】2014-03-26
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】300
【千字數】462
【印 張】18.75
【定 價】¥36
【叢 書】21世紀高等院校規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書首先介紹計算機硬件基本知識和微機的基本工作原理,然后以Intel 8086/8088系列微機為對象介紹匯編語言程序設計。全書共11章,主要內容有:微型計算機概述、計算機中的數據表示、80X86微處理器及體系結構、8086指令系統、匯編語言的基本表達及其運行、匯編語言程序設計、中斷調用程序設計、高級匯編技術、匯編語言與高級語言的連接。
本書內容的安排力求循序漸進,重點突出,難點分散,融入了作者多年教學和實踐的經驗及體會。通過理論課的課堂講授和上機實驗,力爭使學生能夠掌握匯編語言的基本編程方法。本書配有《微機原理與匯編語言程序設計(第二版)——習題解答、實驗指導和實訓》。
本書適合作為高等學校教材,也可用于高等教育自學教材,還可作為從事微型計算機硬件和軟件開發的工程技術人員學習和應用的參考書。
本書配有電子教案,讀者可以從中國水利水電出版社網站及萬水書苑上下載,網址為:http://www.waterpub.com.cn/softdown/和http://www.dgboyong.cn。
本教材介紹了計算機硬件基本知識和微機的基本工作原理,以Intel 8086/8088系列微機為對象介紹匯編語言程序設計。
本書內容安排力求循序漸進、重點突出、難點分散,融入了作者多年教學和實踐的經驗及體會。
作者采用“案例教學,任務驅動”的編寫方式,注重面向應用技術型人才的專業技能和實用技術的培養。微機原理與匯編
再版前言
目前,微型計算機的應用已深入到社會生活的各個領域,從航空航天到家用電器。這就要求每一個從事計算機應用的工程技術人員和將要從事計算機應用的學生既要掌握軟件方面的有關知識,又要掌握硬件方面的有關知識。微型計算機基礎課程的教學任務是使學生從理論和實踐上掌握微型計算機的基本組成、工作原理和實際應用,建立微型計算機整體結構概念,使學生具有微型計算機系統軟硬件開發的初步能力。
微機原理與匯編語言程序設計是工科計算機及相關專業一門重要的專業技術基礎課程,將微機原理知識與匯編語言程序設計融合為一體,借助硬件知識,重點講解匯編語言程序。本課程可以幫助學生掌握微型計算機的硬件組成及應用;學會運用匯編語言進行程序設計;樹立起計算機體系結構的基本概念;為后繼的軟硬件課程做好鋪墊。對于應用型本科學生,既需要一定的專業基礎理論知識,又不能過度強調理論的深度和系統性,應該打破以學科為特征的傳統教學內容,注重面向應用型人才的專業技能和實用技術的培養。基于這種指導思想,本書采用“案例教學,任務驅動”的編寫方式,將“微機原理”和“匯編語言程序設計”內容整合在一起,使教學內容聯系密切,系統性強,避免在單獨開設這兩門課程時重復講授。此外,在具體授課時可以根據各校的教學計劃在內容上適當加以取舍。在編寫過程中力爭做到:微型計算機的相關概念、理論及應用均以基本要求為主,突出實用的特點,在表達上條理清晰,易于理解,脈絡分明;在內容的編排上,力求由淺入深,循序漸進,舉一反三,重點突出,通俗易懂。
由于Intel 80X86微處理器及以它為CPU構成的微型計算機是當前國內外廣泛應用的機型,也是現今高檔微型計算機結構的典范,從它的體系結構到芯片間的連接、信號的關系以及軟件基礎都已成為高檔微型計算機設計時的參考對象和考慮因素,大家都保持同它的兼容性。因此,我們本著“推陳出新”的原則,把重點放在廣泛應用的80X86微處理器上,系統分析微型計算機的基本工作原理和體系結構,詳細介紹指令系統和匯編語言程序設計。
本教材的教學參考學時為80~90學時,并可按照實際情況進行調整。全書共11章,第1章介紹計算機特別是微型計算機的發展、基本結構、工作原理和相關概念,分析微機系統的整體構成和應用特點;第2章介紹計算機中的數制及其轉換、帶符號數的表示,以及字符編碼和漢字編碼的相關知識;第3章介紹80X86CPU的內部結構、存儲器和I/O組織、時鐘、總線和工作方式;第4章介紹8086指令系統和尋址方式;第5章介紹匯編語言源程序的書寫格式、偽指令、匯編語言程序的上機操作和運行過程;第6章介紹匯編語言程序設計的基本方法及順序結構程序設計;第7章介紹分支結構程序設計;第8章介紹循環結構程序設計;第9章介紹子程序等的設計及DOS、BIOS中斷功能調用,并給出實際應用;第10章介紹高級匯編技術;第11章介紹匯編語言與高級語言的連接。附錄部分匯總了8086指令系統、DOS和BIOS功能調用、中斷向量表等,供讀者查詢。在每章的后面,給出了與內容緊密結合的思考題和習題,以供強化訓練。
選用本教材的學校可以在中國水利水電出版社網站及萬水書苑上下載,獲取本書的相關教學材料、應用案例,網址為:http://www.waterpub.com.cn/softdown/或http://www.dgboyong.cn,或通過電子郵件與作者聯系,作者E-mail:jingshx@nciae.edu.cn。
本書由荊淑霞主編,王曉、何麗娟任副主編。其中,第1章~第3章由王曉編寫,第4章由吳煥瑞編寫,第5章由何麗娟編寫;第6章~第8章及附錄部分由荊淑霞編寫;第10章和第11章由曲鳳娟編寫。參加本書大綱討論與部分內容編寫的還有胡斌、鄒澎濤、刑藝蘭、朱杰、王興會等。劉昭、劉俊新、張紅亮、李武、張曉文、江小燕、李宏芳等參加了本書的校對和排版工作。全書由荊淑霞統稿。
由于時間倉促及編者水平有限,書中疏漏和錯誤之處在所難免,敬請廣大讀者批評指正。
編 者
2014年2月
第1章 微型計算機概述 1
本章學習目標 1
1.1 計算機的發展與應用 1
1.1.1 計算機的發展歷史及發展趨勢 1
1.1.2 計算機的特點與分類 4
1.1.3 計算機的應用 5
1.2 計算機的基本結構和工作原理 9
1.2.1 計算機的基本結構 9
1.2.2 計算機的工作原理 10
1.3 計算機系統 13
1.3.1 計算機的硬件系統 13
1.3.2 計算機的軟件系統 15
1.4 微型計算機的基本概念 17
1.4.1 微處理器的產生、發展及分類 17
1.4.2 微型計算機的性能指標介紹 20
1.4.3 微型計算機的特點及應用 21
1.4.4 微型計算機系統的組成 22
本章小結 29
習題1 29
第2章 計算機中的數據表示 30
本章學習目標 30
2.1 計算機中的數制及其轉換 30
2.1.1 數制的基本概念 30
2.1.2 數制之間的轉換 32
2.2 計算機中數值數據的表示及運算 36
2.2.1 基本概念 36
2.2.2 帶符號數的原碼、反碼、補碼表示 37
2.2.3 定點數和浮點數表示 39
2.2.4 定點補碼加法運算溢出判斷 41
2.3 其他數據表示方法 42
2.3.1 美國信息交換標準代碼(ASCII碼) 43
2.3.2 二—十進制編碼——BCD碼 44
2.3.3 漢字編碼 45
2.3.4 圖像(圖形)信息的表示方法 48
2.3.5 語音信息的表示方法 48
本章小結 49
習題2 49
第3章 80X86微處理器及其體系結構 51
本章學習目標 51
3.1 8086微處理器的內部結構 51
3.1.1 基本性能指標 51
3.1.2 8086微處理器內部結構組成 52
3.1.3 8086CPU的寄存器結構 55
3.1.4 8086CPU的外部引腳特性 59
3.2 8086微處理器的存儲器組織 62
3.2.1 存儲器的標準結構 62
3.2.2 存儲器的分段 64
3.2.3 邏輯地址(Logic Address)和實際
地址(Physical Address) 65
3.2.4 專用和保留的存儲器單元及堆棧 66
3.3 8086CPU的總線周期和操作時序 67
3.3.1 8284A時鐘信號發生器 67
3.3.2 8086總線周期 67
3.3.3 8086CPU的最小/最大工作方式 69
3.3.4 8086CPU的操作時序 72
3.4 80286/80386/80486微處理器簡介 77
3.4.1 80286微處理器簡介 77
3.4.2 80386微處理器簡介 80
3.4.3 80486微處理器簡介 87
本章小結 91
習題3 92
第4章 尋址方式與指令系統 93
本章學習目標 93
4.1 指令格式和操作數類型 93
4.2 指令的尋址方式 94
4.2.1 尋址、尋址方式的概念 94
4.2.2 與數據有關的尋址方式 95
4.2.3 I/O端口尋址方式 98
4.2.4 與轉移地址有關的尋址方式 99
4.3 8086指令系統 100
4.3.1 數據傳送類指令 100
4.3.2 DOS系統功能調用 108
4.4 80286增強和擴充指令 110
4.4.1 80286工作模式 110
4.4.2 有符號整數乘法指令 110
4.4.3 堆棧操作指令 111
4.4.4 移位指令 111
4.4.5 支持高級語言的指令 112
4.5 80386增強和擴充指令 112
4.5.1 數據傳送與擴展指令 113
4.5.2 地址傳送指令 113
4.5.3 有符號乘法指令 114
4.5.4 符號擴展指令 114
4.5.5 堆棧操作指令 115
4.5.6 移位指令 115
4.5.7 位操作指令 116
4.5.8 條件設置指令 117
4.6 80486新增指令 119
4.7 Pentium新增指令 120
本章小結 121
習題4 122
第5章 偽指令及匯編語言程序結構 125
本章學習目標 125
5.1 匯編語言和匯編程序 125
5.1.1 匯編語言 125
5.1.2 匯編程序 125
5.2 匯編語言語句格式 126
5.2.1 名字項 127
5.2.2 操作碼項 128
5.2.3 操作數項 128
5.3 偽指令語句 134
5.3.1 數據定義偽指令 134
5.3.2 符號定義偽指令 136
5.3.3 段定義偽指令 137
5.3.4 過程定義偽指令 139
5.3.5 結構定義偽指令 140
5.3.6 模塊定義與連接偽指令 141
5.3.7 程序計數器$和ORG偽指令 142
5.4 匯編語言程序的段結構 143
5.5 匯編語言程序上機過程 144
5.5.1 匯編語言的工作環境及上機步驟 144
5.5.2 匯編語言源程序的建立 146
5.5.3 將源程序文件匯編成目標程序文件 147
5.5.4 用連接程序生成可執行程序文件 148
5.5.5 程序的執行 149
5.5.6 程序的調試 149
5.6 匯編語言程序運行實例 150
本章小結 152
習題5 152
第6章 匯編語言程序設計 154
本章學習目標 154
6.1 匯編語言程序設計的基本方法和基本
步驟 154
6.1.1 匯編語言程序設計的基本步驟 154
6.1.2 結構化程序的概念 157
6.1.3 流程圖畫法規定 158
6.2 算術運算類指令 159
6.2.1 加法指令 159
6.2.2 減法指令 161
6.2.3 乘法運算指令 163
6.2.4 除法運算指令 164
6.2.5 BCD碼調整指令 167
6.3 邏輯運算與移位類指令 170
6.3.1 邏輯運算類指令 170
6.3.2 非循環移位指令 172
6.3.3 循環移位指令 173
6.4 順序程序的結構形式和程序設計 175
6.4.1 順序程序的結構形式 175
6.4.2 順序結構的程序設計 176
本章小結 179
習題6 179
第7章 分支結構程序設計 180
本章學習目標 180
7.1 轉移類指令 180
7.1.1 JMP無條件轉移指令 180
7.1.2 條件轉移指令 182
7.2 分支程序的結構形式和程序設計 187
7.2.1 分支程序的結構形式 187
7.2.2 分支結構的程序設計 188
本章小結 197
習題7 197
第8章 循環結構程序設計 199
本章學習目標 199
8.1 循環程序的基本結構 199
8.1.1 循環程序的組成 199
8.1.2 循環程序的結構 199
8.2 循環控制指令及串指令 200
8.2.1 循環控制指令 200
8.2.2 串操作類指令 201
8.3 循環結構程序的設計方法 206
8.3.1 循環控制的方法 206
8.3.2 循環程序的控制結構 210
8.4 單循環程序設計 212
8.5 多重循環 214
本章小結 217
習題8 217
第9章 子程序設計 219
本章學習目標 219
9.1 子程序的基本概念 219
9.1.1 子程序定義偽指令 221
9.1.2 調用與返回指令 222
9.2 子程序設計 225
9.2.1 子程序說明信息 225
9.2.2 保護現場與恢復現場 225
9.2.3 子程序參數傳遞方法 226
9.3 子程序的嵌套與遞歸 231
9.3.1 子程序的嵌套 231
9.3.2 子程序的遞歸 233
9.4 中斷調用程序設計 236
9.4.1 中斷的基本概念 236
9.4.2 DOS中斷和系統功能調用 239
9.4.3 BIOS中斷調用 242
本章小結 243
習題9 243
第10章 高級匯編技術 245
本章學習目標 245
10.1 宏匯編 245
10.1.1 宏定義、宏調用和宏展開 245
10.1.2 形參和實參 249
10.1.3 偽指令PURGE 251
10.1.4 偽指令LOCAL 252
10.2 重復匯編 252
10.2.1 定重復偽指令REPT 253
10.2.2 不定重復偽指令IRP 253
10.2.3 不定重復字符偽指令IRPC 254
10.3 條件匯編 255
本章小結 257
習題10 258
第11章 模塊化程序設計 259
本章學習目標 259
11.1 段的定義 259
11.1.1 段的完整定義 259
11.1.2 定位類型 260
11.1.3 組合類型 260
11.1.4 類別 261
11.2 模塊間的通信 261
11.2.1 偽指令PUBLIC和 EXTRN 261
11.2.2 多個模塊之間的變量傳送 263
11.3 匯編語言與C/C++語言的混合編程 267
11.3.1 C/C++語言程序與匯編語言過程
的模塊連接 267
11.3.2 C/C++語言程序調用匯編語言的
行內匯編法 272
本章小結 273
習題11 273
附錄A 8086指令系統 276
附錄B DOS系統功能調用(INT 21H) 280
附錄C BIOS功能調用 286
附錄D 80X86中斷向量 290
參考文獻 292
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]