版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)書董 潔 編北京科技大學(xué)自動(dòng)化學(xué)院控制科學(xué)與工程系2013年5月前言微機(jī)原理及接口技術(shù) 是工科計(jì)算機(jī)及相關(guān)專業(yè)學(xué)習(xí)微型計(jì)算機(jī)基本知識(shí)和應(yīng)用技能的重要課程。 本課程幫助學(xué)生掌握微型計(jì)算機(jī)的硬件組成及使用; 學(xué)會(huì)運(yùn)用指令系統(tǒng)和匯編語言進(jìn)行程序設(shè)計(jì);熟悉各種類型的接口及其應(yīng)用,樹立起微型計(jì)算機(jī)體系結(jié)構(gòu)的基本概念,為后繼計(jì)算機(jī)課程的學(xué)習(xí)及應(yīng)用打好基礎(chǔ)。實(shí)驗(yàn)教學(xué)是本課程的重要組成部分,對(duì)學(xué)生理解概念、進(jìn)行程序設(shè)計(jì)及提高應(yīng)用技能至關(guān)重要。在指導(dǎo)書中,每一個(gè)實(shí)驗(yàn)均按照該課程實(shí)驗(yàn)大綱的要求編寫,力求緊扣理論知識(shí)點(diǎn)、突出設(shè)計(jì)方法、明確設(shè)計(jì)思路,通過多種形式完成實(shí)驗(yàn)任務(wù),最終引導(dǎo)學(xué)生有目
2、的、有方向地完成實(shí)驗(yàn)任務(wù),得出實(shí)驗(yàn)結(jié)果。書中標(biāo)( * )的實(shí)驗(yàn)可酌情選作。由于作者水平有限,書中難免存在不足之處,敬請(qǐng)讀者批評(píng)指正。編者2013年 5 月目錄前言2目錄3第一部分匯編語言程序?qū)嶒?yàn)實(shí)驗(yàn)一顯示程序?qū)嶒?yàn)1一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)所用設(shè)備1三、實(shí)驗(yàn)內(nèi)容1四、實(shí)驗(yàn)步驟1五、參考程序清單2六、實(shí)驗(yàn)報(bào)告內(nèi)容及要求3實(shí)驗(yàn)二數(shù)據(jù)傳送實(shí)驗(yàn)4一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)所用設(shè)備4三、實(shí)驗(yàn)內(nèi)容4四、實(shí)驗(yàn)步驟5五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求5實(shí)驗(yàn)三數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn)6一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)所用設(shè)備6三、實(shí)驗(yàn)內(nèi)容6四、實(shí)驗(yàn)步驟8五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求9實(shí)驗(yàn)四運(yùn)算類程序?qū)嶒?yàn)10一、實(shí)驗(yàn)?zāi)康?0二、實(shí)驗(yàn)所用設(shè)備10三、實(shí)驗(yàn)內(nèi)容
3、10四、實(shí)驗(yàn)步驟11五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求11實(shí)驗(yàn)五分支程序設(shè)計(jì)實(shí)驗(yàn)12一、實(shí)驗(yàn)?zāi)康?2二、實(shí)驗(yàn)所用設(shè)備12三、實(shí)驗(yàn)內(nèi)容12四、實(shí)驗(yàn)步驟12五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求13實(shí)驗(yàn)六循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)14一、實(shí)驗(yàn)?zāi)康?4二、實(shí)驗(yàn)所用設(shè)備14三、實(shí)驗(yàn)內(nèi)容14四、實(shí)驗(yàn)步驟14五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求15實(shí)驗(yàn)七子程序設(shè)計(jì)實(shí)驗(yàn)*16一、實(shí)驗(yàn)?zāi)康?6二、實(shí)驗(yàn)所用設(shè)備16三、實(shí)驗(yàn)內(nèi)容16四、實(shí)驗(yàn)步驟18五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求18實(shí)驗(yàn)八綜合程序設(shè)計(jì)實(shí)驗(yàn)*19一、實(shí)驗(yàn)?zāi)康?9二、實(shí)驗(yàn)所用設(shè)備19三、實(shí)驗(yàn)內(nèi)容19四、實(shí)驗(yàn)步驟19五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求20第二部分16 位微機(jī)接口技術(shù)實(shí)驗(yàn)。附錄一:實(shí)驗(yàn)報(bào)告格式21實(shí)驗(yàn)一顯示程序
4、實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 掌握在 PC 機(jī)上以十六進(jìn)制形式顯示數(shù)據(jù)的方法;2. 掌握部分 DOS 功能調(diào)用使用方法;3. 熟悉匯編語言調(diào)試環(huán)境和 Turbo Debugger 的使用。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容一般來說,程序需要顯示輸出提示運(yùn)行的狀況和結(jié)果,有的還需要將數(shù)據(jù)區(qū)中的內(nèi)容顯示在屏幕上。 本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上,并通過 DOS 功能調(diào)用完成一些提示信息的顯示。實(shí)驗(yàn)中可使用 DOS 功能調(diào)用( INT 21H)。(1) 顯示單個(gè)字符輸出入口: AH=02H調(diào)用參數(shù): DL= 輸出字符(2) 顯示字符串入口: AH=09H調(diào)用參數(shù): DS:
5、DX= 串地址, $為結(jié)束字符(3) 鍵盤輸入并回顯入口: AH=01H返回參數(shù): AL= 輸出字符(4) 返回 DOS系統(tǒng)入口: AH=4CH調(diào)用參數(shù): AL= 返回碼四、實(shí)驗(yàn)步驟1.運(yùn)行輕松匯編軟件,選擇Edit 菜單,根據(jù)實(shí)驗(yàn)內(nèi)容的描述1編寫實(shí)驗(yàn)程序,本實(shí)驗(yàn)顯示部分參考實(shí)驗(yàn)流程如圖1-1 示;2. 使用 Compile 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 使用 Run菜單中的 Debug,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容;5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的
6、正確性。圖 1-1 顯示程序?qū)嶒?yàn)流程圖五、參考程序清單DATASEGMENT2MESDB'Show a as hex:', 0AH,0DH,'$'SDDB'a'DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART: MOVAX, DATAMOVDS, AXMOVDX, OFFSET MES ; 顯示提示信息MOVAH, 09HINT21HMOVDI, OFFSET SDMOVAL, DS:DIANDAL, 0F0H ; 取高 4位SHRAL,4CMPAL, 0AH ; 是否是 A 以上的數(shù)JBC2ADDAL
7、, 07HC2:ADDAL, 30HMOVDL, AL ; 顯示字符MOVAH, 02HINT21HMOVAL, DS:DIANDAL, 0FH ; 取低 4位CMPAL, 0AHJBC3ADDAL, 07HC3:ADDAL, 30HMOVDL, AL ; 顯示字符MOVAH, 02HINT21HMOVAX, 4C00H ; 返回 DOSINT21HCODEENDSENDSTART六、實(shí)驗(yàn)報(bào)告內(nèi)容及要求寫出程序調(diào)試過程及運(yùn)行情況。3實(shí)驗(yàn)二數(shù)據(jù)傳送實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 熟悉匯編語言調(diào)試環(huán)境和 Turbo Debugger的使用;2. 掌握與數(shù)據(jù)有關(guān)的不同尋址方式。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。
8、三、實(shí)驗(yàn)內(nèi)容將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏幕上。參考實(shí)驗(yàn)程序:DDATASEGMENT ; 定義源數(shù)據(jù)段MSRDB"HELLO,WORLD!$"LENEQU$- MSRDDATAENDSEXDASEGMENT ; 定義附加數(shù)據(jù)段MSDDBLEN DUP(?)EXDAENDSMYSTACKSEGMENT STACK ; 定義堆棧段DW20 DUP(?)MYSTACKENDSCODESEGMENT ; 定義代碼段ASSUME CS:CODE, DS:DDATA, ES:EXDASTART:MOVAX, DDATAMOVDS, AX ; 裝載
9、數(shù)據(jù)段寄存器MOVAX, EXDAMOVES,AX ; 裝載附加數(shù)據(jù)段寄存器MOVSI, OFFSET MSR ;設(shè)置 SIMOVDI, OFFSET MSD ; 設(shè)置 DIMOVCX, LENNEXT:MOVAL, SI ; 開始傳輸數(shù)據(jù)4MOVES:DI, ALINCSIINCDIDECCXJNZNEXTPUSHESPOPDS ;將附加段寄存器的段值賦給數(shù)據(jù)段寄存器MOVDX, OFFSET MSDMOVAH, 9INT21HMOVAX, 4C00H ; 利用 DOS功能調(diào)用返回 DOS狀態(tài)INT21HCODEENDSENDSTART將程序主體部分的寄存器間接尋址方式改為相對(duì)尋址方式,則如
10、下所示:MOVBX, 0MOVCX, LENNEXT:MOVAL, MSRBXMOVES:MSDBX, ALINCBXLOOPNEXT四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序;2. 使用 Compile 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 使用 Run 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容;5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求寫出程序調(diào)試過程及運(yùn)行情況。5實(shí)驗(yàn)三數(shù)碼轉(zhuǎn)換程序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)?/p>
11、的掌握不同進(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由 ASCII 碼或 BCD 碼表示的數(shù)據(jù)或字符, CPU用二進(jìn)制數(shù)進(jìn)行計(jì)算或其它信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)?ASCII 碼、 BCD 碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換和代碼的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系如圖 3-1所示,數(shù)碼對(duì)應(yīng)關(guān)系如表 3-1所示。圖 3-1 計(jì)算機(jī)與外設(shè)間的數(shù)碼轉(zhuǎn)換關(guān)系1將 ASCII 碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)十進(jìn)制數(shù)可以表示為: Dn × 10n+Dn-1 × 10n
12、-1+ +D0 × 100 =Di × 10i 其中 Di 代表十進(jìn)制數(shù) 1、 2、 3 9、 0。上式可以轉(zhuǎn)換為: Di ×10i=( (Dn×10+Dn-1)× 10)+Dn-2)×10+ +D1)×10+D0由上式可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制的方法: 從十進(jìn)制數(shù)的最高位 Dn開始作乘 10加次位的操作, 依次類推,則可求出二進(jìn)制數(shù)結(jié)6果。本實(shí)驗(yàn)要求將緩沖區(qū)中的一個(gè)五位十進(jìn)制數(shù)00012的 ASCII 碼轉(zhuǎn)換成二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果按位顯示在屏幕上。轉(zhuǎn)換過程的參考流程如圖 3-2所示。表 3-1 數(shù)碼轉(zhuǎn)換對(duì)應(yīng)關(guān)系2將十進(jìn)制
13、數(shù)的 ASCII 碼轉(zhuǎn)換為 BCD 碼本實(shí)驗(yàn)要求將鍵盤輸入的一個(gè)五位十進(jìn)制數(shù) 54321的ASCII 碼存放入數(shù)據(jù)區(qū)中,轉(zhuǎn)換為 BCD 碼后,并將轉(zhuǎn)換結(jié)果按位分別顯示于屏幕上。若輸入的不是十進(jìn)制數(shù)的 ASCII 碼,則輸出 “FF”。提示:一字節(jié) ASCII 碼取其低四位即變?yōu)?BCD碼。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見 3-3。3將十六進(jìn)制數(shù)的 ASCII 碼轉(zhuǎn)換為十進(jìn)制數(shù)十六位二進(jìn)制數(shù)的值域?yàn)?0-65535,最大可轉(zhuǎn)換為五位十進(jìn)制數(shù)。五位十進(jìn)制數(shù)可表示為:ND=D4×104 +D3×103+D2×102 +D1×10+D因此,將十六位二進(jìn)制數(shù)轉(zhuǎn)換為五位 AS
14、CII碼表示的十進(jìn)制數(shù),就是求 D1-D4,并將它們轉(zhuǎn)化為 ASCII 碼。7圖 3-2 十進(jìn)制 ASCII 轉(zhuǎn)換為二進(jìn)制數(shù)參考流程圖 3-3 十進(jìn)制 ASCII 轉(zhuǎn)換為BCD 碼參考流程本實(shí)驗(yàn)要求將緩沖區(qū)中存放的 000CH的 ASCII 碼轉(zhuǎn)換成十進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果顯示在屏幕上。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見圖 3-4 。4BCD 碼轉(zhuǎn)換為二進(jìn)制碼本實(shí)驗(yàn)要求將四個(gè)二位十進(jìn)制數(shù)的 BCD碼存放在某一內(nèi)存單元中,轉(zhuǎn)換出的二進(jìn)制數(shù)碼存入其后的內(nèi)存單元中,轉(zhuǎn)換結(jié)束,送屏幕顯示。轉(zhuǎn)換部分的實(shí)驗(yàn)流程參見 3-5 。四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序;2. 使用 Compil
15、e 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 使用 Run 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容;85. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。圖3-5 BCD 碼轉(zhuǎn)換為二進(jìn)制碼參考流程圖 3-4 將十六進(jìn)制數(shù)的 ASCII 碼轉(zhuǎn)換為十進(jìn)制數(shù)參考流程五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求根據(jù)流程圖編寫程序并調(diào)試,寫出程序調(diào)試過程及運(yùn)行情況。9實(shí)驗(yàn)四運(yùn)算類程序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)康?. 掌握運(yùn)算類指令編程及調(diào)試方法;2. 掌握運(yùn)算類指令對(duì)各狀態(tài)標(biāo)志位的影響及測(cè)試方法。二、實(shí)
16、驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容80x86指令系統(tǒng)提供了實(shí)現(xiàn)加、減、乘、除運(yùn)算的基本指令,可對(duì)表 4-1所示的數(shù)據(jù)類型進(jìn)行算術(shù)運(yùn)算。表 4-1 數(shù)據(jù)類型算術(shù)運(yùn)算表1二進(jìn)制雙精度加法運(yùn)算本實(shí)驗(yàn)要求計(jì)算X+Y=Z ,將結(jié)果Z輸出到屏幕,其中 X=001565A0H , Y=0021B79EH。實(shí)驗(yàn)利用累加器 AX ,先求低十六位和,并存入低址存儲(chǔ)單元,后求高 16位和,再存入高址存儲(chǔ)單元。由于低位和可能向高位有進(jìn)位,因而高位字相加語句需用 ADC 指令,則低位相加有進(jìn)位時(shí),CF=1,高位字相加時(shí),同時(shí)加上 CF中的 1。在 80386以上微機(jī)中可以直接使用 32位寄存器和 32位加法指令完成
17、本實(shí)驗(yàn)的功能。2十進(jìn)制數(shù)的 BCD 碼減法運(yùn)算本實(shí)驗(yàn)要求計(jì)算 X-Y=Z ,其中, X 、 Y 、 Z 為 BCD 碼,其中X=0400H, Y=0102H。3乘法運(yùn)算10本實(shí)驗(yàn)要求實(shí)現(xiàn)十進(jìn)制數(shù)的乘法, 被乘數(shù)和乘數(shù)均以 BCD碼形式存放于內(nèi)存中,被乘數(shù)為 54320H,乘數(shù)為 3H,運(yùn)算結(jié)束后,將乘積在屏幕上顯示。4用減奇數(shù)開平方運(yùn)算80x86指令系統(tǒng)中有乘除法指令但沒有開平方指令,因此,開平方運(yùn)算是通過程序來實(shí)現(xiàn)的。用減奇數(shù)法可求得近似平方根,獲得平方根的整數(shù)部分。 我們知道,N個(gè)自然數(shù)中的奇數(shù)之和等于N2,2即: 1+3+5=9=321+3+5+7=16=421+3+5+7+9+11+1
18、3+15=64=8若要做 S的開方運(yùn)算,那麼就可以從 S中逐次減去自然數(shù)中的奇數(shù) 1, 3, 5, 7 ,一直進(jìn)行到相減數(shù)為 0或不夠減下一個(gè)自然數(shù)的奇數(shù)為止,然后統(tǒng)計(jì)減去自然數(shù)的奇數(shù)個(gè)數(shù),它就是 S的近似平方根。本實(shí)驗(yàn)要求利用減奇法計(jì)算 0040H的開平方值,并將運(yùn)算結(jié)果顯示在屏幕上。四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序;2. 使用 Compile 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 使用 Run 菜單中的 Debug,調(diào)試程序,觀察調(diào)試過程中,數(shù)據(jù)傳輸指令執(zhí)行后
19、,各寄存器及數(shù)據(jù)區(qū)的內(nèi)容;5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求根據(jù)實(shí)驗(yàn)要求編寫程序并調(diào)試,寫出程序調(diào)試過程及運(yùn)行情況。11實(shí)驗(yàn)五分支程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?. 掌握分支程序的設(shè)計(jì)方法。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容程序有順序、循環(huán)、分支和子程序四種結(jié)構(gòu)形式,分支結(jié)構(gòu)的示意圖如圖 5-1所示。本實(shí)驗(yàn)要求通過求無符號(hào)字節(jié)序列中的最大值和最小值來反映分支程序的結(jié)構(gòu)形式。圖 5-1 分支結(jié)構(gòu)示意圖實(shí)驗(yàn)可以使用 BH , BL 作為暫存現(xiàn)行的最大值和最小值,且在程序的初始,將 BH 和 BL 初始化為首字節(jié)的內(nèi)容,然后進(jìn)入循環(huán)操作。在循環(huán)操作中,依次從字節(jié)序
20、列中逐個(gè)取出一個(gè)字節(jié)的內(nèi)容與 BH ,BL 進(jìn)行比較,若取出的字節(jié)內(nèi)容比 BH 的內(nèi)容大或比 BL 中的內(nèi)容小,則修改之。當(dāng)循環(huán)結(jié)束操作時(shí),將 BH ,BL 分別送屏幕顯示。參考實(shí)驗(yàn)流程如圖 5-2所示。四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序,提供 8 字節(jié)的數(shù)據(jù): 0D9H, 07H,8BH ,0C5H,0EBH ,04H, 9DH,120F9H;2. 使用 Compile 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。五、實(shí)驗(yàn)報(bào)告內(nèi)容及
21、要求根據(jù)實(shí)驗(yàn)要求編寫程序并調(diào)試,寫出程序調(diào)試過程及運(yùn)行情況。圖 5-2 分支程序?qū)嶒?yàn)流程圖13實(shí)驗(yàn)六循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆昭h(huán)程序的設(shè)計(jì)方法。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)要求通過求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)來表現(xiàn)循環(huán)程序的結(jié)構(gòu)形式。要求實(shí)驗(yàn)程序在數(shù)據(jù)區(qū)中存放一組數(shù)據(jù),為統(tǒng)計(jì)負(fù)數(shù)的個(gè)數(shù),逐個(gè)判斷區(qū)內(nèi)的數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號(hào)位為 1的數(shù)據(jù)的個(gè)數(shù)累加起來,即得到區(qū)內(nèi)所包含負(fù)數(shù)的個(gè)數(shù)。循環(huán)程序的結(jié)構(gòu)示意如圖 6-1所示。圖 6-1 循環(huán)結(jié)構(gòu)示意圖四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序,提供 10字節(jié)的數(shù)據(jù): 12H,88H,82H,89H
22、,33H,90H ,01H,10H, 0BDH ,01H;142. 使用 Compile 菜單中的 Compile 和 Link 對(duì)實(shí)驗(yàn)程序進(jìn)行匯編、連接;3. 使用 Run 菜單中的 Run,運(yùn)行程序,觀察運(yùn)行結(jié)果;4. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。五、實(shí)驗(yàn)報(bào)告內(nèi)容及要求根據(jù)實(shí)驗(yàn)要求編寫程序并調(diào)試,寫出程序調(diào)試過程及運(yùn)行情況。15實(shí)驗(yàn)七子程序設(shè)計(jì)實(shí)驗(yàn) *一、實(shí)驗(yàn)?zāi)康?. 掌握子程序的定義調(diào)用方法;2. 掌握系統(tǒng)功能調(diào)用程序的使用和編寫方法。二、實(shí)驗(yàn)所用設(shè)備PC 微機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容在匯編程序設(shè)計(jì)中,用戶通常會(huì)將常用的具有特定功能的程序段編制成子程序使用。一般過程定義偽操作的格式如
23、下:procedure name PROC Attributeprocedure name ENDP其中 Attribute 是指類型屬性,可以是 NEAR 或FAR ,調(diào)用程序和過程在同一個(gè)代碼段中使用 NEAR 屬性,不在同一個(gè)代碼段中,使用 FAR。1 數(shù)據(jù)移動(dòng)實(shí)驗(yàn)本實(shí)驗(yàn)要求將指定數(shù)據(jù)區(qū)的數(shù)據(jù)搬移到另一個(gè)數(shù)據(jù)區(qū), 并通過子程序調(diào)用的方法將搬移的數(shù)據(jù)顯示在屏幕上。圖 7-1 源數(shù)據(jù)塊和目標(biāo)數(shù)據(jù)塊在存儲(chǔ)器中的位置示意源數(shù)據(jù)塊和目標(biāo)數(shù)據(jù)塊在存儲(chǔ)中的位置可能有三種情況,如圖167-1所示。對(duì)于兩個(gè)數(shù)據(jù)塊分離的情況,數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或者從數(shù)據(jù)塊的末地址開始均可。但對(duì)于有部分重疊的情
24、況,則要加以分析,否則重疊部分會(huì)因搬移而遭到破壞。所以搬移過程可以通過以下兩個(gè)方式完成:當(dāng)源數(shù)據(jù)塊首地址>目標(biāo)塊首址時(shí),從數(shù)據(jù)塊的首地址開始傳送數(shù)據(jù);當(dāng)源數(shù)據(jù)塊首地址 <目標(biāo)塊首址時(shí),從數(shù)據(jù)塊的末地址開始傳送數(shù)據(jù)。2 數(shù)碼轉(zhuǎn)換及顯示實(shí)驗(yàn)有時(shí)當(dāng)系統(tǒng)運(yùn)行或者程序運(yùn)行期間在遇到某些特殊情況時(shí), 需要計(jì)算機(jī)自動(dòng)執(zhí)行一組專門的例行程序來進(jìn)行中斷處理。 這段例程稱為中斷子程序。中斷分為內(nèi)部中斷和外部中斷兩類。象除法錯(cuò)或者程序中為了作某些處理而設(shè)置的中斷指令等屬于內(nèi)部中斷。 外部中斷則主要用來處理 I/O設(shè)備與 CPU之間的通信。在匯編語言程序設(shè)計(jì)中使用系統(tǒng)功能調(diào)用程序,只需要通過MOV 指令,
25、將中斷參數(shù)裝到與此有關(guān)的寄存器中,然后用 INT 指令調(diào)用所需中斷。如果希望中斷處理程序是用戶自己編寫的一段程序,則需要修改對(duì)應(yīng)中斷的中斷處理程序入口。微機(jī)系統(tǒng)中可以使用 0-255共256個(gè)中斷。當(dāng) 80x86系統(tǒng)工作于實(shí)模式的時(shí)候,內(nèi)存的000H 3FFH被用于作為中斷向量表, 向量表中包含了 256個(gè)中斷的中斷子程序入口(中斷向量地址),向量表內(nèi)容如圖 7-2示。圖 7-2 中斷向量表本實(shí)驗(yàn)要求利用 47H號(hào)中斷將一組字符轉(zhuǎn)換成十六進(jìn)制數(shù)碼,17并在屏幕上顯示出來。四、實(shí)驗(yàn)步驟1. 運(yùn)行輕松匯編軟件,選擇 Edit 菜單編寫實(shí)驗(yàn)程序,對(duì)實(shí)驗(yàn) 1,提供 16 字節(jié)的數(shù)據(jù): 11H,22H, 33H,44H,55H,66H,77H, 88H,99H
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年八年級(jí)道德與法治上冊(cè) 第二單元 遵守社會(huì)規(guī)則 第五課 做守法的公民 第3課時(shí) 善用法律教學(xué)實(shí)錄 新人教版
- 關(guān)于四年級(jí)上冊(cè)數(shù)學(xué)說課稿集合六篇
- 保險(xiǎn)公司內(nèi)勤個(gè)人工作總結(jié)(熱)
- 畢業(yè)生感恩母校演講稿13篇
- 高級(jí)工程師年終工作總結(jié)2021
- 清明節(jié)小學(xué)作文
- 2023八年級(jí)數(shù)學(xué)上冊(cè) 第12章 一次函數(shù)12.2 一次函數(shù)第3課時(shí) 用待定系數(shù)法求一次函數(shù)的表達(dá)式教學(xué)實(shí)錄 (新版)滬科版
- 2024-2025學(xué)年新教材高中語文 第三單元 8.2 登高教學(xué)實(shí)錄(2)部編版必修上冊(cè)
- 創(chuàng)意婚禮策劃方案集合15篇
- 三年級(jí)語文上冊(cè) 第八單元 口語交際 請(qǐng)教教學(xué)實(shí)錄 新人教版
- 2023年中證數(shù)據(jù)招聘筆試真題
- 2024年山東省政府采購專家入庫考試真題(共五套 第一套)
- 2024年全國《考評(píng)員》專業(yè)技能鑒定考試題庫與答案
- 實(shí)驗(yàn)室安全準(zhǔn)入學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 工業(yè)互聯(lián)網(wǎng)標(biāo)準(zhǔn)體系(版本3.0)
- 護(hù)士年終總結(jié)個(gè)人個(gè)人
- 切爾諾貝利核電站事故工程倫理分析
- 國開電大-工程數(shù)學(xué)(本)-工程數(shù)學(xué)第4次作業(yè)-形考答案
- GB/T 13384-2008機(jī)電產(chǎn)品包裝通用技術(shù)條件
- 路基清表施工技術(shù)方案
- 鄂爾多斯盆地地層特征
評(píng)論
0/150
提交評(píng)論