匯編語言詳細教材第一章.ppt_第1頁
匯編語言詳細教材第一章.ppt_第2頁
匯編語言詳細教材第一章.ppt_第3頁
匯編語言詳細教材第一章.ppt_第4頁
匯編語言詳細教材第一章.ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件學(xué)院 楊廣明 ,匯編語言 程序設(shè)計,第 1 章,概 述,教學(xué)重點,第1章是用匯編語言進行程序設(shè)計所需要了解的基本知識。在課堂上,我們重點明確幾個概念: PC機軟硬件系統(tǒng) 認識匯編語言,第一節(jié) 微機系統(tǒng)組成,硬件子系統(tǒng)(Hardware) 控制器、運算器 存儲器 輸入設(shè)備和輸出設(shè)備 軟件子系統(tǒng)(Software) 系統(tǒng)軟件 應(yīng)用軟件,一、硬件子系統(tǒng),硬件子系統(tǒng)是指組成計算機系統(tǒng)的所有電子的、機械的、光學(xué)的和磁性的元部件。通常包括中央處理器CPU,主存儲器,接口裝置,外部設(shè)備(輸入設(shè)備,輸出設(shè)備,外存儲器),外圍設(shè)備(A/D轉(zhuǎn)換器,D/A轉(zhuǎn)換器,開關(guān)量的輸入/輸出設(shè)備)。,微機系統(tǒng)組成圖,I/O 接 口,主存儲器,系統(tǒng)總線,輔助存儲器,輸入設(shè)備,輸出設(shè)備,控制臺,微機的硬件,中央處理單元 CPU(Intel 80x86) 對匯編語言程序員,最關(guān)心其中的寄存器 存儲器(主存儲器) 呈現(xiàn)給匯編語言程序員的,是存儲器地址 外部設(shè)備(接口電路) 匯編語言程序員看到的是端口(I/O地址),中央處理器(CPU),計算機硬件子系統(tǒng)的核心。 算術(shù)邏輯部件:完成算術(shù)和邏輯運算。 寄存器組:由若干寄存器組成。 標(biāo)志寄存器:用于保存運算結(jié)果的狀態(tài)和CPU用的邏輯控制標(biāo)志。 控制部件:用于保存指令,對指令進行譯碼,產(chǎn)生控制各個部件的信號。,寄存器(Register),寄存器是CPU內(nèi)部的高速存儲單元 它們?yōu)樘幚砥魈峁└鞣N操作所需要的數(shù)據(jù)或地址等信息 匯編語言程序采用它們各自的符號名 例如,在Intel 8086/8088 CPU中有 AX BX CX DX SI DI BP SP,存儲器,存儲器分為內(nèi)存儲器和外存儲器,簡稱為內(nèi)存和外存。 內(nèi)存:又稱主存儲器,用于存儲計算機當(dāng)前正在運行的程序,正在處理的原始數(shù)據(jù)、中間結(jié)果及最終結(jié)果等。 外存:又稱為輔助存儲器,如磁盤、磁帶、光盤等。用于存放計算機當(dāng)前沒有執(zhí)行的一些系統(tǒng)程序和用戶程序。,存儲器,內(nèi)存容量:主存儲器能存放信息的容量稱為內(nèi)存容量,通常用存儲空間的多少來表示。存儲空間的基本計量單位為字節(jié)(Byte),一個字節(jié)由8位二進制位(bit)組成。 1024B=1KB 1024KB=1MB 1024MB=1GB,存儲器地址(Address),存儲器是由大量存儲單元組成。為了區(qū)別每個單元,我們將它們編號,這個編號就是存儲器地址。 存儲器地址是存儲器中存儲單元的編號 微機的每個存儲單元存放一個字節(jié)量的數(shù)據(jù) 一個字節(jié)B(Byte)包含了8個二進制位b(bit) 通常采用十六進制數(shù)來表達地址 Intel 8086具有1兆字節(jié)(1MB)存儲器容量 其存儲器地址可以表示為:00000H FFFFFH 其中大寫H(或小寫h)表示是16進制數(shù),存儲器地址(Address),以8086/8088為CPU的微機內(nèi)存空間最大為1MB。每個存儲空間又稱為一個單元,每個單元有一個唯一的編號,稱為該單元的地址,向存儲空間存數(shù)據(jù)或從存儲空間讀取數(shù)據(jù)時,都必須指出它的地址。,: : 12H 34H : :,單元的 內(nèi)容,00000H,00001H,00002H,FFFFFH,FFFFEH,FFFFDH,:,:,20002H,20003H,單元的地址,端口(Port),對程序員來說,I/O接口電路由接口寄存器組成,為了區(qū)別它們,各個寄存器進行了編號,形成I/O地址。 端口就是指I/O地址,是微機系統(tǒng)對I/O接口電路中與程序設(shè)計有關(guān)的寄存器的編號 系統(tǒng)實際上就是通過這些端口與外設(shè)進行通訊的 通常采用十六進制數(shù)來表達端口 Intel 8086支持64K個8位端口 其I/O地址可以表示為:0000H FFFFH,接口裝置,外部設(shè)備一般是機械設(shè)備,其工作速度與中央處理器的工作速度比起來低得多,而且不同的外部設(shè)備傳輸數(shù)據(jù)的編碼格式、所需要的控制信號的種類、數(shù)量也不相同。因此,外部設(shè)備與CPU之間不能直接交換信息,在兩者之間需要有一個具有若干個寄存器和邏輯控制電路的部件,作為兩者交換信息的緩沖部件,該部件稱為接口裝置,簡稱接口。,輸入輸出設(shè)備,輸入設(shè)備:用來向計算機的主存儲器或CPU送入程序或數(shù)據(jù)的裝置。如:鍵盤,鼠標(biāo)等。 輸出設(shè)備:用來將計算機的處理結(jié)果以某種形式輸出給用戶的裝置。如:顯示器,打印機,繪圖儀等。,完成模擬量和開關(guān)量的輸入/輸出的設(shè)備,為和一般的外部設(shè)備相區(qū)別,稱其為外圍設(shè)備。 開關(guān)量:即一些只有兩個狀態(tài)的量。 模擬量:,傳 感 器,放 大 器,A/D 轉(zhuǎn) 換 器,計 算 機,D/A 轉(zhuǎn) 換 器,電量,模擬量,數(shù)字量,數(shù)字量,模擬量,現(xiàn)場,現(xiàn)場信號,16/32位PC機,本課程采用16位或32位個人計算機 16位PC機是指采用16位80x86 CPU的IBM PC/XT/AT這三款個人微機或它們的兼容機。 32位PC機是指采用32位80x86 CPU而形成的微機,其基本結(jié)構(gòu)仍然源于PC/AT機。 人們?nèi)粘U務(wù)摰腜C機或微機是上述微型計算機系統(tǒng)的統(tǒng)稱。,二、軟件子系統(tǒng),軟件子系統(tǒng):是指為了充分發(fā)揮計算機硬件子系統(tǒng)的功能,方便用戶使用計算機,提高計算機系統(tǒng)效率而編制的各種程序。由系統(tǒng)軟件和應(yīng)用軟件組成。,二、軟件子系統(tǒng),1. 系統(tǒng)軟件 2. 應(yīng)用軟件,1. 系統(tǒng)軟件,(1)面向用戶的軟件 (2)面向計算機維護人員的軟件 (3)面向計算機本身的軟件,(1)面向用戶的軟件,語言加工軟件:用來把用戶用各種計算機語言編制的源程序轉(zhuǎn)換為計算機硬件能直接處理的機器代碼(目標(biāo)程序)。如:匯編程序、編譯程序、解釋程序等。 輔助加工軟件:用戶借助輔助加工軟件來編輯、修改自己的源程序,裝配、連接、調(diào)試自己的目標(biāo)程序,這類軟件有編輯程序,連接程序,糾錯程序等等。,(2)面向計算機維護人員的軟件,如:診斷調(diào)試程序 日常事物受理程序等。,(3)面向計算機本身的軟件,如:故障處理程序 操作系統(tǒng)等。,2. 應(yīng)用軟件,用戶為解決自己的問題而編制的軟件。,微機的軟件,系統(tǒng)軟件:DOS平臺 MS-DOS 6.22 Windows 9.x的DOS實地址方式 MS-DOS虛擬環(huán)境 Windows 2000/XP 應(yīng)用軟件: 文本編輯軟件 圖形圖像處理軟件 各種管理軟件,第二節(jié) 計算機語言,計算機語言是人與計算機之間交流信息的工具。 程序:用計算機語言描述的處理步驟。 程序設(shè)計:編制處理步驟的過程。 計算機語言可分為三類: 機器語言 匯編語言 通用語言,面向機器設(shè)計的,低級語言,:面向程序設(shè)計人員設(shè)計的,高級語言,計算機語言,一、機器語言 二、匯編語言 三、通用語言(高級語言),可以使計算機完成各種操作的“1”和“0”的不同組合的數(shù)碼串稱為機器指令。 機器語言就是與機器硬件有緊密聯(lián)系的機器指令的集合。,一、機器語言,1010 0000 ;1號單元內(nèi)容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2號單元內(nèi)容取入AH寄存器 0010 0110 0000 0010 0000 0000 0000 0000 ;AL的內(nèi)容與AH的內(nèi)容相加,結(jié) 1110 0000 ;果存入AL中 1010 0010 ;AL的內(nèi)容送入3號單元 0000 0011 0000 0000 1111 0100 ;停機,一、機器語言,一、機器語言,缺點: (1) 機器語言難記,程序難編,易錯,調(diào)試困難; (2) 機器語言通用性差。 優(yōu)點: (1) 計算機能直接認識、執(zhí)行; (2) 算法刻畫細致; (3) 程序緊湊,占用內(nèi)存空間少,執(zhí)行速度高; (4) 能充分發(fā)揮計算機的硬件功能。,二、匯編語言,隨著計算機的發(fā)展,產(chǎn)生了符號語言,上面的程序用符號語言編寫如下: MOV AL,DATA1 ;取第一個數(shù)據(jù) MOV AH,DATA2 ;取第二個數(shù)據(jù) ADD AL,AH ;求和 MOV RLT,AL ;保存結(jié)果 HLT ;停機,1010 0000 ;1號單元內(nèi)容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2號單元內(nèi)容取入AH寄存器 0010 0110 0000 0010 0000 0000 0000 0000 ;AL的內(nèi)容與AH的內(nèi)容相加,結(jié) 1110 0000 ;果存入AL中 1010 0010 ;AL的內(nèi)容送入3號單元 0000 0011 0000 0000 1111 0100 ;停機,匯編語言是一種面向機器的低級程序設(shè)計語言 匯編語言以助記符形式表示每一條計算機指令 助記符(mnemonic)是便于人們記憶、并能描述指令功能和指令操作數(shù)的符號 助記符一般就是表明指令功能的英語單詞或其縮寫,二、匯編語言,MOV AL,DATA1 ;取第一個數(shù)據(jù),二、匯編語言,匯編語言: 符號語言的詞法、語法規(guī)則及偽指令符號就構(gòu)成了匯編語言。 匯編過程:把匯編語言程序翻譯成機器語言程序的過程稱為匯編過程。 匯編程序:完成匯編過程的程序稱為匯編程序。 匯編語言程序:程序設(shè)計人員用匯編語言編寫的程序,是匯編程序加工的對象,稱為源程序。 目標(biāo)程序:匯編程序產(chǎn)生的結(jié)果,也稱作是目的程序。,DSEG SEGMENT ;數(shù)據(jù)段開始 DATA1 DB 15H DATA2 DB 26H RLT DB 0 DSEG ENDS ;數(shù)據(jù)段結(jié)束 CSEG SEGMENT ;代碼段開始 ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG ;設(shè)置數(shù)據(jù)段基址 MOV DS,AX MOV AL,DATA1 ;取第一個數(shù)據(jù) MOV AH,DATA2 ;取第二個數(shù)據(jù) ADD AL,AH ;求和 MOV RLT,AL ;保存結(jié)果 HLT ;停機 CSEG ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束,二、匯編語言,用助記符表示的指令就是匯編語言中的匯編格式指令 匯編格式指令以及使用它們編寫程序的規(guī)則就形成匯編語言(Assembly Language) 用匯編語言書寫的程序就是匯編語言程序,或稱匯編語言源程序 匯編程序?qū)R編語言程序“匯編”成機器代碼目標(biāo)模塊,二、匯編語言,種類:80x86匯編,8051匯編等 形成過程:,二、匯編語言,編譯程序,計算機,源程序,目標(biāo)程序,連接,可執(zhí)行程序,匯編語言的主要特點: 匯編語言程序與處理器指令系統(tǒng)密切相關(guān) 程序員可直接、有效地控制系統(tǒng)硬件 形成的可執(zhí)行文件運行速度快、占用主存容量少,匯編語言程序與匯編程序是兩個概念,二、匯編語言,二、匯編語言,優(yōu)點: (1) 程序容易編制、出錯機會少、容易調(diào)試; (2) 算法刻畫細致; (3) 程序緊湊、占用內(nèi)存空間少、執(zhí)行速度高; (4) 能充分發(fā)揮計算機的硬件功能。 缺點: (1) 計算機不能直接認識、執(zhí)行,必須經(jīng)過匯編變?yōu)闄C器語言程序; (2) 通用性差。,通用語言:是用來對計算機操作步驟進行描述的一整套標(biāo)記符號、表達格式、結(jié)構(gòu)及其使用的語法規(guī)則。 種類:Pascal, BASIC, C, COBOL, Java等等 例子(C):,三、通用語言(高級語言),int i,j,k; k=i+j;,執(zhí)行過程:,三、通用語言(高級語言),編譯程序,計算機,源程序,目標(biāo)程序,連接,可執(zhí)行程序,三、通用語言(高級語言),優(yōu)點: (1) 程序容易編制、出錯機會少、容易調(diào)試; (2) 容易表達算法; (3) 通用性強。 缺點: (1) 計算機不能直接認識、執(zhí)行,必須經(jīng)過編譯變?yōu)闄C器語言程序; (2) 編譯后生成的機器語言程序冗長、占用內(nèi)存空間多、執(zhí)行速度低; (3) 不能充分發(fā)揮計算機的硬件功能。,匯編語言和高級語言(1),匯編語言與處理器密切相關(guān) 匯編語言程序的通用性、可移植性較差 高級語言與具體計算機無關(guān) 高級語言程序可以在多種計算機上編譯后執(zhí)行,匯編語言和高級語言(2),匯編語言功能有限、涉及硬件細節(jié) 編寫程序比較繁瑣,調(diào)試起來也比較困難 高級語言提供了強大的功能,不必關(guān)心瑣碎問題 類似自然語言的語法,易于掌握和應(yīng)用,匯編語言和高級語言(3),匯編語言本質(zhì)上就是機器語言 可以直接、有效地控制計算機硬件 易于產(chǎn)生速度快、容量小的高效率目標(biāo)程序 高級語言不針對具體計算機系統(tǒng) 不易直接控制計算機的各種操作 目標(biāo)程序比較龐大、運行速度較慢,匯編語言和高級語言(4),匯編語言的優(yōu)點: 直接控制計算機硬件部件 可以編寫在“時間”和“空間”兩方面最有效的程序 匯編語言的缺點: 與處理器密切有關(guān) 需要熟悉計算機硬件系統(tǒng)、考慮許多細節(jié) 編寫繁瑣,調(diào)試、維護、交流和移植困難,匯編語言和高級語言(5),匯編語言的優(yōu)點使得它在程序設(shè)計中占有重要的位置,是不可被取代的 匯編語言的缺點使得人們主要采用高級語言進行程序開發(fā)工作 有時需要采用高級語言和匯編語言混合編程的方法,互相取長補短,更好地解決實際問題,匯編語言的應(yīng)用場合,程序要具有較快的執(zhí)行時間,或者只能占用較小的存儲容量 程序與計算機硬件密切相關(guān),程序要直接、有效地控制硬件 大型軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論