




已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件學(xué)院 楊廣明 ,匯編語言 程序設(shè)計(jì),第 1 章,概 述,教學(xué)重點(diǎn),第1章是用匯編語言進(jìn)行程序設(shè)計(jì)所需要了解的基本知識(shí)。在課堂上,我們重點(diǎn)明確幾個(gè)概念: PC機(jī)軟硬件系統(tǒng) 認(rèn)識(shí)匯編語言,第一節(jié) 微機(jī)系統(tǒng)組成,硬件子系統(tǒng)(Hardware) 控制器、運(yùn)算器 存儲(chǔ)器 輸入設(shè)備和輸出設(shè)備 軟件子系統(tǒng)(Software) 系統(tǒng)軟件 應(yīng)用軟件,一、硬件子系統(tǒng),硬件子系統(tǒng)是指組成計(jì)算機(jī)系統(tǒng)的所有電子的、機(jī)械的、光學(xué)的和磁性的元部件。通常包括中央處理器CPU,主存儲(chǔ)器,接口裝置,外部設(shè)備(輸入設(shè)備,輸出設(shè)備,外存儲(chǔ)器),外圍設(shè)備(A/D轉(zhuǎn)換器,D/A轉(zhuǎn)換器,開關(guān)量的輸入/輸出設(shè)備)。,微機(jī)系統(tǒng)組成圖,I/O 接 口,主存儲(chǔ)器,系統(tǒng)總線,輔助存儲(chǔ)器,輸入設(shè)備,輸出設(shè)備,控制臺(tái),微機(jī)的硬件,中央處理單元 CPU(Intel 80x86) 對(duì)匯編語言程序員,最關(guān)心其中的寄存器 存儲(chǔ)器(主存儲(chǔ)器) 呈現(xiàn)給匯編語言程序員的,是存儲(chǔ)器地址 外部設(shè)備(接口電路) 匯編語言程序員看到的是端口(I/O地址),中央處理器(CPU),計(jì)算機(jī)硬件子系統(tǒng)的核心。 算術(shù)邏輯部件:完成算術(shù)和邏輯運(yùn)算。 寄存器組:由若干寄存器組成。 標(biāo)志寄存器:用于保存運(yùn)算結(jié)果的狀態(tài)和CPU用的邏輯控制標(biāo)志。 控制部件:用于保存指令,對(duì)指令進(jìn)行譯碼,產(chǎn)生控制各個(gè)部件的信號(hào)。,寄存器(Register),寄存器是CPU內(nèi)部的高速存儲(chǔ)單元 它們?yōu)樘幚砥魈峁└鞣N操作所需要的數(shù)據(jù)或地址等信息 匯編語言程序采用它們各自的符號(hào)名 例如,在Intel 8086/8088 CPU中有 AX BX CX DX SI DI BP SP,存儲(chǔ)器,存儲(chǔ)器分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器,簡稱為內(nèi)存和外存。 內(nèi)存:又稱主存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)當(dāng)前正在運(yùn)行的程序,正在處理的原始數(shù)據(jù)、中間結(jié)果及最終結(jié)果等。 外存:又稱為輔助存儲(chǔ)器,如磁盤、磁帶、光盤等。用于存放計(jì)算機(jī)當(dāng)前沒有執(zhí)行的一些系統(tǒng)程序和用戶程序。,存儲(chǔ)器,內(nèi)存容量:主存儲(chǔ)器能存放信息的容量稱為內(nèi)存容量,通常用存儲(chǔ)空間的多少來表示。存儲(chǔ)空間的基本計(jì)量單位為字節(jié)(Byte),一個(gè)字節(jié)由8位二進(jìn)制位(bit)組成。 1024B=1KB 1024KB=1MB 1024MB=1GB,存儲(chǔ)器地址(Address),存儲(chǔ)器是由大量存儲(chǔ)單元組成。為了區(qū)別每個(gè)單元,我們將它們編號(hào),這個(gè)編號(hào)就是存儲(chǔ)器地址。 存儲(chǔ)器地址是存儲(chǔ)器中存儲(chǔ)單元的編號(hào) 微機(jī)的每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)量的數(shù)據(jù) 一個(gè)字節(jié)B(Byte)包含了8個(gè)二進(jìn)制位b(bit) 通常采用十六進(jìn)制數(shù)來表達(dá)地址 Intel 8086具有1兆字節(jié)(1MB)存儲(chǔ)器容量 其存儲(chǔ)器地址可以表示為:00000H FFFFFH 其中大寫H(或小寫h)表示是16進(jìn)制數(shù),存儲(chǔ)器地址(Address),以8086/8088為CPU的微機(jī)內(nèi)存空間最大為1MB。每個(gè)存儲(chǔ)空間又稱為一個(gè)單元,每個(gè)單元有一個(gè)唯一的編號(hào),稱為該單元的地址,向存儲(chǔ)空間存數(shù)據(jù)或從存儲(chǔ)空間讀取數(shù)據(jù)時(shí),都必須指出它的地址。,: : 12H 34H : :,單元的 內(nèi)容,00000H,00001H,00002H,FFFFFH,FFFFEH,FFFFDH,:,:,20002H,20003H,單元的地址,端口(Port),對(duì)程序員來說,I/O接口電路由接口寄存器組成,為了區(qū)別它們,各個(gè)寄存器進(jìn)行了編號(hào),形成I/O地址。 端口就是指I/O地址,是微機(jī)系統(tǒng)對(duì)I/O接口電路中與程序設(shè)計(jì)有關(guān)的寄存器的編號(hào) 系統(tǒng)實(shí)際上就是通過這些端口與外設(shè)進(jìn)行通訊的 通常采用十六進(jìn)制數(shù)來表達(dá)端口 Intel 8086支持64K個(gè)8位端口 其I/O地址可以表示為:0000H FFFFH,接口裝置,外部設(shè)備一般是機(jī)械設(shè)備,其工作速度與中央處理器的工作速度比起來低得多,而且不同的外部設(shè)備傳輸數(shù)據(jù)的編碼格式、所需要的控制信號(hào)的種類、數(shù)量也不相同。因此,外部設(shè)備與CPU之間不能直接交換信息,在兩者之間需要有一個(gè)具有若干個(gè)寄存器和邏輯控制電路的部件,作為兩者交換信息的緩沖部件,該部件稱為接口裝置,簡稱接口。,輸入輸出設(shè)備,輸入設(shè)備:用來向計(jì)算機(jī)的主存儲(chǔ)器或CPU送入程序或數(shù)據(jù)的裝置。如:鍵盤,鼠標(biāo)等。 輸出設(shè)備:用來將計(jì)算機(jī)的處理結(jié)果以某種形式輸出給用戶的裝置。如:顯示器,打印機(jī),繪圖儀等。,完成模擬量和開關(guān)量的輸入/輸出的設(shè)備,為和一般的外部設(shè)備相區(qū)別,稱其為外圍設(shè)備。 開關(guān)量:即一些只有兩個(gè)狀態(tài)的量。 模擬量:,傳 感 器,放 大 器,A/D 轉(zhuǎn) 換 器,計(jì) 算 機(jī),D/A 轉(zhuǎn) 換 器,電量,模擬量,數(shù)字量,數(shù)字量,模擬量,現(xiàn)場,現(xiàn)場信號(hào),16/32位PC機(jī),本課程采用16位或32位個(gè)人計(jì)算機(jī) 16位PC機(jī)是指采用16位80x86 CPU的IBM PC/XT/AT這三款個(gè)人微機(jī)或它們的兼容機(jī)。 32位PC機(jī)是指采用32位80x86 CPU而形成的微機(jī),其基本結(jié)構(gòu)仍然源于PC/AT機(jī)。 人們?nèi)粘U務(wù)摰腜C機(jī)或微機(jī)是上述微型計(jì)算機(jī)系統(tǒng)的統(tǒng)稱。,二、軟件子系統(tǒng),軟件子系統(tǒng):是指為了充分發(fā)揮計(jì)算機(jī)硬件子系統(tǒng)的功能,方便用戶使用計(jì)算機(jī),提高計(jì)算機(jī)系統(tǒng)效率而編制的各種程序。由系統(tǒng)軟件和應(yīng)用軟件組成。,二、軟件子系統(tǒng),1. 系統(tǒng)軟件 2. 應(yīng)用軟件,1. 系統(tǒng)軟件,(1)面向用戶的軟件 (2)面向計(jì)算機(jī)維護(hù)人員的軟件 (3)面向計(jì)算機(jī)本身的軟件,(1)面向用戶的軟件,語言加工軟件:用來把用戶用各種計(jì)算機(jī)語言編制的源程序轉(zhuǎn)換為計(jì)算機(jī)硬件能直接處理的機(jī)器代碼(目標(biāo)程序)。如:匯編程序、編譯程序、解釋程序等。 輔助加工軟件:用戶借助輔助加工軟件來編輯、修改自己的源程序,裝配、連接、調(diào)試自己的目標(biāo)程序,這類軟件有編輯程序,連接程序,糾錯(cuò)程序等等。,(2)面向計(jì)算機(jī)維護(hù)人員的軟件,如:診斷調(diào)試程序 日常事物受理程序等。,(3)面向計(jì)算機(jī)本身的軟件,如:故障處理程序 操作系統(tǒng)等。,2. 應(yīng)用軟件,用戶為解決自己的問題而編制的軟件。,微機(jī)的軟件,系統(tǒng)軟件:DOS平臺(tái) MS-DOS 6.22 Windows 9.x的DOS實(shí)地址方式 MS-DOS虛擬環(huán)境 Windows 2000/XP 應(yīng)用軟件: 文本編輯軟件 圖形圖像處理軟件 各種管理軟件,第二節(jié) 計(jì)算機(jī)語言,計(jì)算機(jī)語言是人與計(jì)算機(jī)之間交流信息的工具。 程序:用計(jì)算機(jī)語言描述的處理步驟。 程序設(shè)計(jì):編制處理步驟的過程。 計(jì)算機(jī)語言可分為三類: 機(jī)器語言 匯編語言 通用語言,面向機(jī)器設(shè)計(jì)的,低級(jí)語言,:面向程序設(shè)計(jì)人員設(shè)計(jì)的,高級(jí)語言,計(jì)算機(jī)語言,一、機(jī)器語言 二、匯編語言 三、通用語言(高級(jí)語言),可以使計(jì)算機(jī)完成各種操作的“1”和“0”的不同組合的數(shù)碼串稱為機(jī)器指令。 機(jī)器語言就是與機(jī)器硬件有緊密聯(lián)系的機(jī)器指令的集合。,一、機(jī)器語言,1010 0000 ;1號(hào)單元內(nèi)容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2號(hào)單元內(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號(hào)單元 0000 0011 0000 0000 1111 0100 ;停機(jī),一、機(jī)器語言,一、機(jī)器語言,缺點(diǎn): (1) 機(jī)器語言難記,程序難編,易錯(cuò),調(diào)試?yán)щy; (2) 機(jī)器語言通用性差。 優(yōu)點(diǎn): (1) 計(jì)算機(jī)能直接認(rèn)識(shí)、執(zhí)行; (2) 算法刻畫細(xì)致; (3) 程序緊湊,占用內(nèi)存空間少,執(zhí)行速度高; (4) 能充分發(fā)揮計(jì)算機(jī)的硬件功能。,二、匯編語言,隨著計(jì)算機(jī)的發(fā)展,產(chǎn)生了符號(hào)語言,上面的程序用符號(hào)語言編寫如下: MOV AL,DATA1 ;取第一個(gè)數(shù)據(jù) MOV AH,DATA2 ;取第二個(gè)數(shù)據(jù) ADD AL,AH ;求和 MOV RLT,AL ;保存結(jié)果 HLT ;停機(jī),1010 0000 ;1號(hào)單元內(nèi)容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2號(hào)單元內(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號(hào)單元 0000 0011 0000 0000 1111 0100 ;停機(jī),匯編語言是一種面向機(jī)器的低級(jí)程序設(shè)計(jì)語言 匯編語言以助記符形式表示每一條計(jì)算機(jī)指令 助記符(mnemonic)是便于人們記憶、并能描述指令功能和指令操作數(shù)的符號(hào) 助記符一般就是表明指令功能的英語單詞或其縮寫,二、匯編語言,MOV AL,DATA1 ;取第一個(gè)數(shù)據(jù),二、匯編語言,匯編語言: 符號(hào)語言的詞法、語法規(guī)則及偽指令符號(hào)就構(gòu)成了匯編語言。 匯編過程:把匯編語言程序翻譯成機(jī)器語言程序的過程稱為匯編過程。 匯編程序:完成匯編過程的程序稱為匯編程序。 匯編語言程序:程序設(shè)計(jì)人員用匯編語言編寫的程序,是匯編程序加工的對(duì)象,稱為源程序。 目標(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 ;取第一個(gè)數(shù)據(jù) MOV AH,DATA2 ;取第二個(gè)數(shù)據(jù) ADD AL,AH ;求和 MOV RLT,AL ;保存結(jié)果 HLT ;停機(jī) CSEG ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束,二、匯編語言,用助記符表示的指令就是匯編語言中的匯編格式指令 匯編格式指令以及使用它們編寫程序的規(guī)則就形成匯編語言(Assembly Language) 用匯編語言書寫的程序就是匯編語言程序,或稱匯編語言源程序 匯編程序?qū)R編語言程序“匯編”成機(jī)器代碼目標(biāo)模塊,二、匯編語言,種類:80x86匯編,8051匯編等 形成過程:,二、匯編語言,編譯程序,計(jì)算機(jī),源程序,目標(biāo)程序,連接,可執(zhí)行程序,匯編語言的主要特點(diǎn): 匯編語言程序與處理器指令系統(tǒng)密切相關(guān) 程序員可直接、有效地控制系統(tǒng)硬件 形成的可執(zhí)行文件運(yùn)行速度快、占用主存容量少,匯編語言程序與匯編程序是兩個(gè)概念,二、匯編語言,二、匯編語言,優(yōu)點(diǎn): (1) 程序容易編制、出錯(cuò)機(jī)會(huì)少、容易調(diào)試; (2) 算法刻畫細(xì)致; (3) 程序緊湊、占用內(nèi)存空間少、執(zhí)行速度高; (4) 能充分發(fā)揮計(jì)算機(jī)的硬件功能。 缺點(diǎn): (1) 計(jì)算機(jī)不能直接認(rèn)識(shí)、執(zhí)行,必須經(jīng)過匯編變?yōu)闄C(jī)器語言程序; (2) 通用性差。,通用語言:是用來對(duì)計(jì)算機(jī)操作步驟進(jìn)行描述的一整套標(biāo)記符號(hào)、表達(dá)格式、結(jié)構(gòu)及其使用的語法規(guī)則。 種類:Pascal, BASIC, C, COBOL, Java等等 例子(C):,三、通用語言(高級(jí)語言),int i,j,k; k=i+j;,執(zhí)行過程:,三、通用語言(高級(jí)語言),編譯程序,計(jì)算機(jī),源程序,目標(biāo)程序,連接,可執(zhí)行程序,三、通用語言(高級(jí)語言),優(yōu)點(diǎn): (1) 程序容易編制、出錯(cuò)機(jī)會(huì)少、容易調(diào)試; (2) 容易表達(dá)算法; (3) 通用性強(qiáng)。 缺點(diǎn): (1) 計(jì)算機(jī)不能直接認(rèn)識(shí)、執(zhí)行,必須經(jīng)過編譯變?yōu)闄C(jī)器語言程序; (2) 編譯后生成的機(jī)器語言程序冗長、占用內(nèi)存空間多、執(zhí)行速度低; (3) 不能充分發(fā)揮計(jì)算機(jī)的硬件功能。,匯編語言和高級(jí)語言(1),匯編語言與處理器密切相關(guān) 匯編語言程序的通用性、可移植性較差 高級(jí)語言與具體計(jì)算機(jī)無關(guān) 高級(jí)語言程序可以在多種計(jì)算機(jī)上編譯后執(zhí)行,匯編語言和高級(jí)語言(2),匯編語言功能有限、涉及硬件細(xì)節(jié) 編寫程序比較繁瑣,調(diào)試起來也比較困難 高級(jí)語言提供了強(qiáng)大的功能,不必關(guān)心瑣碎問題 類似自然語言的語法,易于掌握和應(yīng)用,匯編語言和高級(jí)語言(3),匯編語言本質(zhì)上就是機(jī)器語言 可以直接、有效地控制計(jì)算機(jī)硬件 易于產(chǎn)生速度快、容量小的高效率目標(biāo)程序 高級(jí)語言不針對(duì)具體計(jì)算機(jī)系統(tǒng) 不易直接控制計(jì)算機(jī)的各種操作 目標(biāo)程序比較龐大、運(yùn)行速度較慢,匯編語言和高級(jí)語言(4),匯編語言的優(yōu)點(diǎn): 直接控制計(jì)算機(jī)硬件部件 可以編寫在“時(shí)間”和“空間”兩方面最有效的程序 匯編語言的缺點(diǎn): 與處理器密切有關(guān) 需要熟悉計(jì)算機(jī)硬件系統(tǒng)、考慮許多細(xì)節(jié) 編寫繁瑣,調(diào)試、維護(hù)、交流和移植困難,匯編語言和高級(jí)語言(5),匯編語言的優(yōu)點(diǎn)使得它在程序設(shè)計(jì)中占有重要的位置,是不可被取代的 匯編語言的缺點(diǎn)使得人們主要采用高級(jí)語言進(jìn)行程序開發(fā)工作 有時(shí)需要采用高級(jí)語言和匯編語言混合編程的方法,互相取長補(bǔ)短,更好地解決實(shí)際問題,匯編語言的應(yīng)用場合,程序要具有較快的執(zhí)行時(shí)間,或者只能占用較小的存儲(chǔ)容量 程序與計(jì)算機(jī)硬件密切相關(guān),程序要直接、有效地控制硬件 大型軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鋁鎳鈷永磁市場前景趨勢及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025重慶市安全員-A證考試題庫附答案
- 2025-2030年中國金屬鈷市場發(fā)展趨勢規(guī)劃研究報(bào)告
- 2025-2030年中國袋式除塵器行業(yè)運(yùn)營趨勢規(guī)劃研究報(bào)告
- 2025-2030年中國芝麻素市場運(yùn)行狀況與前景趨勢分析報(bào)告
- 2025-2030年中國翻譯行業(yè)競爭狀況及發(fā)展趨勢分析報(bào)告
- 2025-2030年中國砂巖行業(yè)市場運(yùn)行態(tài)勢及發(fā)展風(fēng)險(xiǎn)分析報(bào)告
- 2025-2030年中國電熱水龍頭市場運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測報(bào)告
- 廣西民族大學(xué)《建筑設(shè)備自動(dòng)化A》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東外語外貿(mào)大學(xué)《法律與人生》2023-2024學(xué)年第二學(xué)期期末試卷
- 《幼兒園保教質(zhì)量評(píng)估指南》解讀
- ICU單間耗材出入庫使用登記表
- 外研版(一年級(jí)起點(diǎn))四年級(jí)下冊(cè)英語全冊(cè)教學(xué)課件
- 助貸機(jī)構(gòu)業(yè)務(wù)流程規(guī)范
- 2024四川省涼山州林業(yè)局招聘60人歷年(高頻重點(diǎn)復(fù)習(xí)提升訓(xùn)練)共500題附帶答案詳解
- DL∕T 5106-2017 跨越電力線路架線施工規(guī)程
- 西師大版數(shù)學(xué)四年級(jí)下冊(cè)全冊(cè)教學(xué)課件(2024年3月修訂)
- 綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 九年級(jí)物理第一課
- 代孕合同范本
- 醫(yī)療事故處理?xiàng)l例解讀專家講座
評(píng)論
0/150
提交評(píng)論