出版時間:2008-1 出版社:四川大學 作者:唐寧九主編 頁數(shù):187 字數(shù):306000
Tag標簽:無
前言
隨著計算機科學的發(fā)展,各類程序設計語言也得到不斷的充實和更新;隨著計算機應用范圍的拓展,各類程序設計語言的應用領域和前景也得到相應深化和發(fā)展。匯編語言,作為最接近計算機底層的程序設計語言,在計算機理論與應用不斷更新和提升時,并沒有被發(fā)展的浪潮所淹沒,而且其理論與應用也在不斷得到升華。匯編語言作為深入理解計算機系統(tǒng)原理的一種原理性程序設計語言,在計算機學科內(nèi)仍然有其存在的必要性.并且,因為它是銜接硬件與軟件的中介,其存在的必要性將長期持續(xù)下去;在各類對速度要求較苛刻的計算機應用系統(tǒng)中,核心代碼仍然大多采用匯編語言編寫,以提高其執(zhí)行效率,部分針對硬件采取特殊操作的應用程序也是采用匯編語言編寫的,這些都充分說明了在實際應用中匯編語言仍然有存在的必要性。匯編語言在計算機科學的理論與應用中都有存在的必要性,同時需要強調(diào),匯編語言存在還具有相當?shù)闹匾?。匯編語言是深入理解計算機底層結構的基礎理論,如果對它感興趣,那么計算機底層世界的大門將會敞開,如果懼怕、反感它,那么它將成為初學者深入計算機底層世界永遠的絆腳石。 現(xiàn)代計算機所使用的信號都是數(shù)字信號,都是“數(shù)字計算機”。通常情況下,數(shù)字計算機能直接識別、執(zhí)行或處理的指令或數(shù)據(jù),是0和1的二進制編碼。查閱Intel、AMD或任意一款處理器手冊,我們會看到在描述每一條指令時,必然會介紹該指令的二進制代碼。換言之,如果期望計算機執(zhí)行某條指令的功能,唯一的方法就是將該指令對應的二進制代碼送入處理器讓它被解釋、被執(zhí)行。這種處理器指令的二進制代碼就是機器指令,是計算機唯一能直接解釋、執(zhí)行的指令,機器指令的全集即是機器語言,而匯編語言正是它的助記版本。用機器指令編寫的程序是計算機唯一能夠直接識別并執(zhí)行的程序,而其他語言編寫的程序必須轉換成機器語言程序才能被執(zhí)行。因此,機器語言程序又被稱為目標程序;更重要的推論是,計算機的一切命令和高級語言的函數(shù)、過程等,都是由機器語言組成的。任何語言都是交流的工具;計算機編程語言,無論是C/C++,Delphi,JAVA,還是匯編語言,都是人和計算機交流的工具,即人向計算機傳達意圖的工具,用于描述我們期望計算機做什么、怎么做,預置應對變化的對策等。我們會看到;計算機能夠解釋、執(zhí)行的指令數(shù)量是非常有限的,似乎很難和現(xiàn)代電腦的強大和精彩有什么聯(lián)系。但正如無數(shù)樂曲都是由7個音符組成的一樣,所有的程序都是機器指令的不同組合。
內(nèi)容概要
本教材的內(nèi)容主要基于808w8088指令系統(tǒng),試圖以全新的詮釋方式來講解這種匯編語言。就本教材涉及的教學內(nèi)容而言,可作為計算機專業(yè)本科生的匯編語言程序設計教材,書中突出了硬件與軟件的銜接,充分說明CPU中關鍵器件與指令系統(tǒng)中核心指令與程序設計的關系,使初學者能夠真正深入理解軟件結構是如何由底層硬件結構支撐起來的。
書籍目錄
前言
第1章 引言
1.1 二進制編碼與計算機系統(tǒng)
1.2 匯編語言基本概念與術語
1.3 匯編語言在計算機科學中的位置
習題1
第2章 數(shù)與編碼
2.1 進位記數(shù)制
2.2 不同進位記數(shù)制間的轉換
2.2.1 二進制與R進制問相互轉換
2.2.2 二進制與八進制、十六進制問相互轉換
2.3 編碼
2.3.1 無符號數(shù)
2.3.2 原碼
2.3.3 補碼
2.3.4 ASCII碼
2.3.5 BCD碼
習題2
第3章 計算機系統(tǒng)模型
3.1 計算機系統(tǒng)的基本結構
3.1.1 中央處理器
3.1.2 內(nèi)邴仃儲器
3.1.3 系統(tǒng)總線
3.1.4 設備接口
3.1.5 外部設備
3.2 計算機系統(tǒng)中的存儲單元
3.3 控制信號與時序過程
3.3.1 控制信號
3.3.2 時序過程
3.4 機器指令系統(tǒng)
習題3
第4章 8086/8088 CPU
4.1 8086/8088 CPU基本結構與工作原理
4.2 8086/8088 CPU的寄存器組
4.2.1 數(shù)據(jù)寄存器組
4.2.2 段寄存器組
4.2.3 地址指針寄存器組
4.2.4 控制寄存器
4.2.5 寄存器的隱含使用與特定使用
習題4
第5章 8086/8088基本指令系統(tǒng)
5.1 匯編指令的基本格式
5.2 尋址方式
5.2.1 寄存器尋址方式
5.2.2 立即數(shù)尋址方式
5.2.3 存儲器尋址方式
5.2.4 其他尋址方式
5.3 基本指令系統(tǒng)
5.3.1 傳送類指令
5.3.2 算術運算類指令
5.3.3 位操作類指令
5.3.4 處理器控制類指令
習題5
第6章 匯編語言源程序組織
6.1 匯編語言的語句種類和格式
6.1.1 指令語句
6.1.2 偽指令語句
6.1.3 標識符
6.2 常量與變量
6.2.1 常量
6.2.2 簡單變量定義
6.2.3 標號和內(nèi)存變量的屬性及屬性操作符
6.3 匯編語言的表達式
6.3.1 數(shù)值表達式
6.3.2 地址表達式
6.4 段定義偽指令與源程序框架
6.4.1 段定義偽指令
6.4.2 段聲明偽指令的段初值
6.4.3 1P和SP的初值
6.4.4 源程序的基本框架
6.5 編制匯編語言程序的完整過程
6.5.1 編程工具及經(jīng)典過程
6.5.2 用UltraEdit設置簡易的匯編語言編程環(huán)境
6.5.3 DEBUG常用命令簡介
習題6
第7章 分支與循環(huán)程序設計
7.1 無條件轉移指令
7.2 條件轉移指令
7.3 分支程序設計
7.4 循環(huán)控制指令
7.5 循環(huán)程序設計
習題7
第8章 子程序設計與系統(tǒng)調(diào)用
8.1 子程序調(diào)用與返回指令
8.2 子程序設計
8.2.1 子程序設計的一般規(guī)范
8.2.2 子程序設計示例
8.3 系統(tǒng)調(diào)用
8.3.1 系統(tǒng)調(diào)用的概念
8.3.2 常用的系統(tǒng)調(diào)用
8.3.3 系統(tǒng)調(diào)用示例
習題8
第9章 數(shù)值運算程序設計
9.1 二進制乘除法運算指令
9.1.1 乘法運算指令
9.1.2 除法運算指令
9.2 BCD碼加減法指令
9.2.1 BCD(Binary—Coded Decimal)碼
9.2.2 BCD碼加減法指令
9.3 BCD碼加減法程序設計原理與實現(xiàn)
9.4 BCD碼乘除法調(diào)整指令
9.4.1 BCD碼乘法調(diào)整指令AAM
9.4.2 BCD碼除法調(diào)整指令AAD
習題9
第10章 非數(shù)值處理程序設計
10.1 串操作指令
10.1.1 串操作指令的特點
10.1.2 串操作指令
10.2 串操作指令的應用
10.2.1 串操作指令在程序巾的使用要點
10.2.2 程序設計舉例
10.3 其他非數(shù)值處理程序設計實例
習題10
第11章 輸入/輸出程序設計
11.1 輸入/輸出指令
11.1.1 I/O端口的編址方法
11.1.2 輸入/輸出指令
11.1.3 I/O端口的尋址方式
11.2 主機與外設數(shù)據(jù)傳送的方式
11.2.1 無條件傳送方式
11.2.2 程序查詢傳送方式
11.2.3 中斷傳送方式
11.2.4 直接存儲器傳送方式(DMA)
11.3 中斷
11.3.1 中斷的一般概念
11.3.2 中斷源及中斷類型碼
11.3.3 中斷向量表
11.3.4 中斷優(yōu)先級
11.3.5 中斷過程
11.4 幾個常用:BIOS中斷調(diào)用
11.4.1 鍵盤中斷調(diào)用(INT 16H)
11.4.2 顯示中斷調(diào)用(INT 10H)
11.4.3 打印中斷調(diào)用(INT 17H)
11.4.4 串行通信中斷調(diào)用(INT 14H)
11.4.5 時間中斷調(diào)用(INT 1AH)
11.5 幾個常用的DOS系統(tǒng)功能調(diào)用(INT 21H)
11.6 應用舉例
習題11
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載