《微機(jī)原理及應(yīng)用》期末自測(cè)題答案版(DOC)_第1頁(yè)
《微機(jī)原理及應(yīng)用》期末自測(cè)題答案版(DOC)_第2頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理及應(yīng)用期末自測(cè)題基本概念與術(shù)語(yǔ)1、8086是(16)位計(jì)算機(jī)。8086地址線有(20)條,可直接尋址的空間最大為(1M)。2、總線周期是指(進(jìn)行一次總線操作的時(shí)間)?;究偩€周期有(4)T狀態(tài)。Tw狀態(tài)是指(等待周期)。3、8086CPU允許的I/O地址線最多可達(dá)(16)條,最大尋址I/O空間為(64K)。4、8086CPU由(總線接口部件BIU,執(zhí)行部件EU)兩部分組成,其功能為(總線接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令的執(zhí)行行。)。其中8086CPU中標(biāo)志寄存器的作用是(記錄

2、指令運(yùn)行的狀態(tài)標(biāo)志和控制標(biāo)志),指令隊(duì)列的作用是(完成指令的獲取和排隊(duì)),20位地址加法器的作用是(將執(zhí)行單元提供的16位非重定位地址重定位為20位的存儲(chǔ)器物理地址,用于存儲(chǔ)器接口訪問(wèn)總線上實(shí)際的物理存儲(chǔ)器)。代碼段物理地址由CPU的(CS,IP)兩個(gè)寄存器確定。堆棧段物理地址由CPU的(SS,SP)兩個(gè)寄存器確定。5、8086中斷源有(系統(tǒng)外部中斷,內(nèi)部中斷兩)個(gè)。8086中斷服務(wù)程序入口地址由(中斷向量表)組成。中斷類(lèi)型號(hào)為20H,其中斷向量為(80H)。6、I/O指令I(lǐng)N/OUT,傳送數(shù)據(jù)的寄存器為(AL,AX),間接尋址時(shí)使用寄存器(DX),其中INAL,DX的含義是(將DX中的數(shù)據(jù)寫(xiě)

3、入到AL中)。OUT60H,AL的含義是(將AL讀出到地址為60H的端口中)。7、一片8259A可以管理(8)級(jí)中斷;3片8259A可以管理(16)級(jí)中斷。8、硬件中斷是(外部引發(fā),隨機(jī)的,執(zhí)行總線周期,中斷類(lèi)型碼由中斷控制器提供),軟件中斷是(內(nèi)部引發(fā),確定的,不執(zhí)行總線周期,中斷類(lèi)型確定)軟件中斷優(yōu)先級(jí)與硬件中斷優(yōu)先級(jí)相比,(軟件中斷)的級(jí)別高。9、在中斷服務(wù)程序結(jié)束前,為正確返回,必須設(shè)置一條指令(IRET)。在子程序調(diào)用結(jié)束前,為正確返回,必須設(shè)置一條指令(RET)。10、若中斷控制器8259的中斷請(qǐng)求寄存器IRR狀態(tài)為10100000B,說(shuō)明(IR5,IR7引腳上有中斷請(qǐng)求)。ISR

4、狀態(tài)為10100000B說(shuō)明(出現(xiàn)了中斷嵌套)。11、可編程定時(shí)器8253的地址有(16)個(gè)。共有(3)獨(dú)立定時(shí)通道。工作方式有(6)個(gè)。12、并行接口8255有(4)個(gè)數(shù)據(jù)端口,有(3)種工作方式。13、假設(shè)8253的端口地址為40H43H,那么控制端口地址為(43H),通道0、1、2的端口地址為(40H,41H,42H)。14、假設(shè)8255的端口地址為330H333H,那么控制端口地址為(333H),端口A、B、C的地址為(330H,331H,332H)15、定時(shí)器8253的門(mén)控信號(hào)GATE作用是(門(mén)控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作),CLK端的作用是(計(jì)數(shù)器的時(shí)鐘脈沖輸

5、入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào)),OUT端作用是(定時(shí)器的輸出端)。16、初始化定時(shí)器8253需要先寫(xiě)(控制字),后寫(xiě)(定時(shí)初值)。17、偽指令的作用是(指出匯編程序應(yīng)如何對(duì)源程序進(jìn)行匯編,如何定義變量,分配存儲(chǔ)單元,以及指示程序的開(kāi)始和結(jié)束),(不)產(chǎn)生機(jī)器代碼。二、簡(jiǎn)單應(yīng)用與簡(jiǎn)答題1、簡(jiǎn)述微型計(jì)算機(jī)的組成。微型計(jì)算機(jī)是由微處理器、存儲(chǔ)器、輸入/輸出接口電路和系統(tǒng)總線構(gòu)成的裸機(jī)系統(tǒng)。2、總線分為哪幾種類(lèi)型?微型計(jì)算機(jī)采用總線結(jié)構(gòu)有什么優(yōu)點(diǎn)?分為地址總線,數(shù)據(jù)總線與控制總線三類(lèi),又稱(chēng)三總線。微型計(jì)算機(jī)的三總線結(jié)構(gòu)是一個(gè)獨(dú)特的結(jié)構(gòu)。采用總線結(jié)構(gòu),系統(tǒng)中各功能部件之間的相互關(guān)系,變成了各功能

6、部件面向總線的單一關(guān)系。一個(gè)部件只要符合總線標(biāo)準(zhǔn),就可以連接到采用這種總線標(biāo)準(zhǔn)的系統(tǒng)中,使系統(tǒng)功能得到擴(kuò)展。3、8086CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?其功能是什么?8086的內(nèi)部結(jié)構(gòu)分成兩部分。總線接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令的執(zhí)行行。4、8086的總線接口部件由那幾部分組成?其功能是什么?8086的總線接口部件主要由下面幾部分組成:4個(gè)段寄存器CS/DS/ES/SS,用于保存各段地址;一個(gè)16位的指令指針寄存器IP,用于保存當(dāng)前指令的偏移地址;一個(gè)20位地址加法器,用于形成

7、20位物理地址;指令流字節(jié)隊(duì)列,用于保存指令;存儲(chǔ)器接口,用于內(nèi)總線與外總線的連接。5、8086的執(zhí)行單元(部件)由那幾部分組成?有什么功能?8086的執(zhí)行單元部件主要由下面幾部分組成:控制器、算數(shù)邏輯單元、標(biāo)志寄存器、通用寄存器組。(1)控制器,從指令流順序取指令、進(jìn)行指令譯碼,完成指令的執(zhí)行等。(2)算數(shù)邏輯單元ALU,根據(jù)控制器完成8/16位二進(jìn)制算數(shù)與邏輯運(yùn)算。(3)標(biāo)志寄存器,使用9位,標(biāo)志分兩類(lèi)。其中狀態(tài)標(biāo)志6位,存放算數(shù)邏輯單元ALU運(yùn)算結(jié)果特征;控制標(biāo)志3位,控制8086的3種特定操作。(4)通用寄存器組,用于暫存數(shù)據(jù)或指針的寄存器陣列。6、簡(jiǎn)述8086CPU的流水線思想,與傳

8、統(tǒng)計(jì)算機(jī)有何不同。在8086CPU中,指令的提取與執(zhí)行分別由總線接口部件BIU與執(zhí)行部件EU完成,兩個(gè)單元重疊并行工作,這種機(jī)制稱(chēng)為流水線這種工作方式有力的提高了CPU的工作效率。傳統(tǒng)的計(jì)算機(jī)一般按照取指令、指令譯碼與執(zhí)行指令的串行步驟工作。7、8086和8088是怎樣解決地址線和數(shù)據(jù)線的復(fù)用問(wèn)題的?ALE信號(hào)何時(shí)處于有效電平?8086/8088采用時(shí)間分隔技術(shù)與地址鎖存技術(shù),通過(guò)地址鎖存允許信號(hào)ALE鎖存CPU送出的地址,有效解決地址線和數(shù)據(jù)線的復(fù)用問(wèn)題。ALE在T1狀態(tài)有效,將CPU送出的20位地址鎖存。8、計(jì)算機(jī)對(duì)I/O端口編址時(shí)通常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法

9、對(duì)I/O端口進(jìn)行編址?對(duì)端口編址的兩種方法。計(jì)算機(jī)對(duì)內(nèi)存和I/O端口統(tǒng)一編址;計(jì)算機(jī)對(duì)內(nèi)存和I/O端口分別進(jìn)行編址。在8086/8088系統(tǒng)中用計(jì)算機(jī)對(duì)內(nèi)存和I/O端口獨(dú)立編址。9、一般的IO接口電路安排有哪三類(lèi)寄存器?它們各自的作用是什么?(1)安排數(shù)據(jù)寄存器、狀態(tài)寄存器、控制寄存器。(2)數(shù)據(jù)寄存器:存放CPU與外設(shè)之間傳送的數(shù)據(jù)信息。狀態(tài)寄存器:存放當(dāng)前外設(shè)所處的工作狀態(tài)??刂萍拇嫫鳎捍娣臗PU通過(guò)接口向外設(shè)傳送控制信息。10簡(jiǎn)述CPU與外設(shè)進(jìn)行數(shù)據(jù)交換的幾種常用方式與特點(diǎn)。CPU與外設(shè)之間的數(shù)據(jù)傳輸有以下三種方式:程序方式、中斷方式、DMA方式。(1)程序方式又分為無(wú)條件傳送方式和條件

10、傳送方式兩種方式,接口簡(jiǎn)單。無(wú)條件傳送方式用于簡(jiǎn)單外設(shè),如LED顯示器。條件傳送方式用于外設(shè)較少、需要聯(lián)絡(luò)信號(hào)的情形。(2)中斷傳送方式需要專(zhuān)門(mén)的中斷控制電路°CPU利用率高,速度快,用于外設(shè)較多的實(shí)時(shí)系統(tǒng)。(3)DMA方式需要專(zhuān)用硬件電路。外設(shè)直接和存儲(chǔ)器進(jìn)行數(shù)據(jù)傳送,效率高,適合大量、快速數(shù)據(jù)傳送,例如硬盤(pán)讀寫(xiě)等。11、簡(jiǎn)述條件傳送方式的工作過(guò)程,主要適用的場(chǎng)合。條件傳送數(shù)據(jù)有三個(gè)環(huán)節(jié):(1)CPU從接口中讀取狀態(tài)字。(2)CPU檢測(cè)狀態(tài)字的對(duì)應(yīng)位是否滿足“就緒”條件,如不滿足,則回到前一步讀取狀態(tài)字。(3)如狀態(tài)字表明外設(shè)已處于就緒狀態(tài),則傳送數(shù)據(jù)。主要用于需要聯(lián)絡(luò)信號(hào)(如選通

11、信號(hào))的外設(shè)較少的系統(tǒng)。12、8086CPU響應(yīng)中斷的條件?8086CPU響應(yīng)中斷后自動(dòng)完成的任務(wù)是什么?(1)有中斷源發(fā)出的中斷請(qǐng)求信號(hào),并保存在中斷請(qǐng)求觸發(fā)器中,直至CPU響應(yīng)此中斷請(qǐng)求之后才清除。(2)開(kāi)放總中斷。(3)在現(xiàn)行指令結(jié)束后響應(yīng)中斷。關(guān)中斷,斷點(diǎn)保護(hù),形成中斷入口地址。即獲得中斷服務(wù)程序的入口地址,從而進(jìn)入中斷服務(wù)程序。13、軟件中斷有哪些特點(diǎn)?硬件中斷有那些特點(diǎn)?軟件中斷是由CPU內(nèi)部事件引起的中斷,是確定的;與硬件無(wú)關(guān),不執(zhí)行中斷響應(yīng)周期;除單步中斷外,軟件中斷(內(nèi)部中斷)不可屏蔽;優(yōu)先級(jí)高于硬件中斷(外部中斷)。硬件中斷由外部事件引起,是隨機(jī)的,需要執(zhí)行總線周期,中斷類(lèi)

12、型碼由中斷控制器提供。14、什么是中斷向量?它放在哪里?對(duì)應(yīng)于類(lèi)型號(hào)1CH的中斷向量在哪里?如1CH中斷程序從5110H:2030H開(kāi)始,則中斷向量應(yīng)怎樣存放?中斷向量是中斷處理子程序的入口地址,它放在中斷向量表中。由1ch*4=70H知中斷向量存放在0000:0070處。由于中斷處理入口地址為5110H:2030H,所以2030H應(yīng)放在0070H,0071H兩個(gè)存儲(chǔ)單元,5110H應(yīng)放在0072H、0073H這2個(gè)單元。15、簡(jiǎn)述定時(shí)器/計(jì)數(shù)器芯片8253的主要功能。說(shuō)明OUT、CLOCK與GATE信號(hào)的作用。(1)具有3個(gè)獨(dú)立的16位定時(shí)/計(jì)時(shí)器,采用二進(jìn)制計(jì)數(shù)時(shí)最大計(jì)數(shù)范圍為065535

13、,采用BCD碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值為09999(2)每個(gè)定時(shí)/計(jì)數(shù)器都有自己的時(shí)鐘輸入CLK,定時(shí)的輸出OUT和門(mén)控信號(hào)GATE(3)每個(gè)定時(shí)/計(jì)數(shù)器均可以按二進(jìn)制或BCD碼計(jì)數(shù),計(jì)數(shù)頻率可達(dá)2MHz(4)每個(gè)定時(shí)/計(jì)數(shù)器都有6種工作方式,通過(guò)編程設(shè)置,計(jì)數(shù)器可做計(jì)數(shù)用,也可做定時(shí)用(5)所有輸入和輸出電平都與TTL兼容OUT是計(jì)數(shù)器的輸出端,用于計(jì)數(shù)信號(hào)輸出,CLOCK是計(jì)數(shù)器的時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào),GATE是門(mén)控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作16、8253內(nèi)部有幾個(gè)獨(dú)立通道?8253有幾種工作方式?初始化8253的步驟是什么?若8253端口地址為2

14、00H-203H,對(duì)應(yīng)的端口是哪個(gè)?8253內(nèi)部有3個(gè)獨(dú)立通道,8253有,6種工作方式,初始化8253的步驟是:選擇計(jì)數(shù)器,確定計(jì)數(shù)器數(shù)據(jù)的讀寫(xiě)格式,確定計(jì)數(shù)器的工作方式,確定計(jì)數(shù)器計(jì)數(shù)的數(shù)制,寫(xiě)入計(jì)數(shù)初值,若8253端口地址為200H-203H,計(jì)數(shù)器0,1,2和控制字寄存器端口的地址分別為200H,201H,202H和203H17、并行接口8255有幾個(gè)數(shù)據(jù)端口?若端口地址為300H-303H,對(duì)應(yīng)的端口是哪個(gè)?怎樣初始化8255?并行接口8255有4個(gè)數(shù)據(jù)端口,若端口地址為300H-303H,對(duì)應(yīng)的端口是,:端口A、B、C和控制端口的地址分別為300H,301H,302H和303H18

15、、假設(shè)8255A的端口A工作于方式0,外設(shè)需要提供兩個(gè)聯(lián)絡(luò)信號(hào),一個(gè)為輸出選通,一個(gè)為外設(shè)就緒信號(hào)輸入,試選擇端口并說(shuō)明理由。若8255A的端口A工作于方式0輸出,外設(shè)需要提供兩個(gè)聯(lián)絡(luò)信號(hào),把端口C的高4位某位,例如PC7規(guī)定為輸出口,用來(lái)輸出選通信號(hào);而把端口C的低4位規(guī)定為輸入口,例如用PC0用來(lái)讀入外設(shè)的狀態(tài)。就是這樣,利用端口C來(lái)配合端口A和端口B的輸入/輸出操作。19、中斷控制器8259的主要功能?簡(jiǎn)述8259的工作過(guò)程。中斷控制器8259具有8級(jí)優(yōu)先權(quán)管理,可用9片擴(kuò)展為64級(jí)中斷系統(tǒng),接受中斷請(qǐng)求,提供中斷類(lèi)型號(hào),具有屏蔽與開(kāi)放中斷的功能,可編程選擇不同工作方式8259的工作過(guò)程

16、:(1) .有請(qǐng)求輸入時(shí),將IRR相應(yīng)位置位;(2) .經(jīng)IMR屏蔽電路處理后(IRR與IMR相與),送PR;(3) .PR檢測(cè)出最高的中斷請(qǐng)求位,并經(jīng)嵌套處理考慮是否發(fā)送INT;(4) .若可發(fā)INT信號(hào),則控制邏輯將INT信號(hào)送給CPU的INTR引腳(6) .若CPU處在開(kāi)中斷,則在當(dāng)前指令完成后,發(fā)兩個(gè)INTA信號(hào);(7) .8259A接到第一個(gè)INTA信號(hào)后,使ISR位置位,IRR相應(yīng)位復(fù)位;(8) .CPU啟動(dòng)另一個(gè)響應(yīng)周期,輸出第二個(gè)INTA脈沖,8259A(9) .向數(shù)據(jù)總線送出中斷類(lèi)型碼;同時(shí),CPU取出此向量乘以4,(10) .得到中斷服務(wù)程序的入口地址;(11) .中斷響應(yīng)

17、周期完成,CPU執(zhí)行中斷服務(wù)程序,8259A工作(12) .在自動(dòng)結(jié)束AEOI或普通結(jié)束EOI模式下,使ISR清0。三、編程應(yīng)用題1、編程計(jì)算(X+Y)*10)+Z)/X,X、Y、Z都是16位無(wú)符號(hào)數(shù),結(jié)果存在RESULT開(kāi)始的單元。DATASEGMENTRESULTDW2DUPDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化MOVBX,0MOVAX,XADDAX,YJNCS0MOVBX,1S0:MOVDX,0MOVCX,10MULCXADDDX,BXADDAX,ZADCDX,0MOVBX,XDIVBXLE

18、ASI,RESULTMOVSI,AXADDSI,2MOVSI,DXMOVAH,4CHINT21HCODEENDSENDSTART2、將BUF1開(kāi)始的100字節(jié)傳送到BUF2開(kāi)始的單元,然后從中檢索字符“#”,并將此單元換成空格字符。DATASEGMENTBUF2DB100DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化MOVES,AXLEASI,BUF1LEADI,BUF2MOVCX,100CLDREPMOVSBMOVCX,100LEABUF2S:MOVAL,'#'COMAL,D

19、IJNZCOUNMOVAL,''MOVDI,ALCOUN:INCDILOOPSMOVAH,4CHINT21HCODEENDSENDSTART3、編寫(xiě)一段程序,比較兩個(gè)5字節(jié)的字符串OLDS和NEWS,若相同,在RESULT置0,否則置0FFH。DATASEGMENTOLDSDB1,2,3,4,5NEWSDB1,2,3,4,'A'N=$-NEWSRESULTDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化MOVSI,OFFSETOLDSMOVDI,OFFSETNEWSMO

20、VCX,NDON:MOVAL,SICMPAL,DIJNZNOEQU;串不相等轉(zhuǎn)INCSIINCDILOOPDONMOVAL,0JMPOUTPUTNOEQU:MOVAL,0FFHOUTPUT:MOVRESULT,ALSTOP:JMPSTOP;;程序陷阱CODEENDSENDSTARTSTART:S:MOVAX,DATAMOVDS,AXMOVAX,COUNTMOVBX,2MULBXMOVCX,AXMOVAX,0LEASI,ARRAYADDAX,SIADDSI,2LOOPSLEASI,SUMMOVSI,AXMOVAH,4CHINT21H4、累加數(shù)組中的元素,將和存于SUM開(kāi)始單元,數(shù)據(jù)段定義如下DA

21、TASEGMENTARRAYDW10,10,12,4,5,6,7,8,9,10COUNTDW($-ARRAY)/2SUMDW?DATAENDSASSUMECS:CODE,DS:DATACODEENDSENDSTART5、編寫(xiě)程序完成求1+2+3+N的累加和,直到累加和超過(guò)1000為止。統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù)送CN單元,累加和送SUM。DATASEGMENTCNDW?SUMDW?DATAENDSASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,0MOVAX,0MOVBX,1S:ADDAX,BXINCCXCMPAX,1000JAOKINCBXJ

22、MPSOK:LEASI,SUMMOVSI,AXLEADI,CNMOVDI,CXMOVAH,4CHINT21HCODEENDSENDSTART6、DATABUFFERNMAXDATAENDSASSUME從給定串中尋找最大值,并放到MAX單元,元素放在BUFFER開(kāi)始的字節(jié)單元中SEGMENTDB10,32,56,11,90,56,89,21EQU$-BUFFERDB?START:MOVMOVMOVLEACMPJNAXCHGXCHGLOOPMOVLEAMOVMOVINTCODECS:CODE,DS:DATAAX,DATADS,AXCX,N-1SI,BUFFERS:MOVAL,SIAL,SI+1S1

23、SI+1,ALSI,ALS1:INCSISAL,SISI,MAXSI,ALAH,4CH21HENDSENDSTART7、把BUF表中的字節(jié)元素按值的大小升序排列。數(shù)據(jù)段定義如下:BUFDB10,32,56,11,90,56,89,21N=$-BUFDATASEGMENTBUFDB10,32,56,11,90,56,89,21NEQU$-BUFDATAENDSASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,N-1S1:MOVBL,0MOVCXDXLEASI,BUFS2:MOVAL,SICMPAL,SI+1JNANOXCHGSI+1,ALXCH

24、GSI,ALMOVBL,0FFHNO:INCSILOOPS2DECDXCMPDX,0JNES1MOVAH,4CHINT21HCODEENDSENDSTART8、類(lèi)型號(hào)為20H的中斷服務(wù)程序入口符號(hào)地址為INT-5,試寫(xiě)出中斷向量的裝入程序片斷。CLIPUSHDSPUSHAXXORAX,AXMOVDS,AXMOVAX,OFFSETINT-5MOVWORDPTR080H,AXMOVAX,SEGINT-5MOVWORDPTR082H,AXPOPAXPOPDSSTI9、設(shè)一個(gè)8253的計(jì)數(shù)器0產(chǎn)生周期為20ms的定時(shí)信號(hào),計(jì)數(shù)器1產(chǎn)生周期為100ms的定時(shí)信號(hào)。設(shè)外部時(shí)鐘頻率為f=2MHZ,端口地址為

25、330H333H。試對(duì)它進(jìn)行初始化編程。MOVAL,00110100BMOVDX,333HOUTDX,ALMOVAX,40000MOVDX,330HOUTDX,ALMOVAL,AHOUTDX,ALMOVAL,01110100BMOVDX,333HOUTDX,ALMOVAX,5MOVDX,331HOUTDX,ALMOVAL,AHOUTDX,AL10、已知某8253占用I/O空間地址為40H43H,設(shè)定時(shí)器0、定時(shí)器1工作于方式3,外部提供一個(gè)時(shí)鐘,頻率f=2MHZ。要求定時(shí)器1連續(xù)產(chǎn)生5ms的定時(shí)信號(hào),定時(shí)器0連續(xù)產(chǎn)生5秒的定時(shí)信號(hào)。MOVAL,00110110BOUT43H,ALMOVAX,1

26、000OUT40H,ALMOVAL,AHOUT40H,ALMOVAL,01110110BOUT43H,ALMOVAX,5000OUT41HALMOVAL,AHOUT41H,AL11、用8255A控制三個(gè)發(fā)光二極管依秩序循環(huán)顯示。假設(shè)開(kāi)關(guān)閉合時(shí),點(diǎn)亮發(fā)光二極管,開(kāi)關(guān)斷開(kāi)時(shí)息滅二極管。(1)畫(huà)出原理圖,并說(shuō)明工作原理;(2)選擇8255工作方式;(3)編寫(xiě)8255初始化程序與控制程序。見(jiàn)課本P22612、8255連接一組開(kāi)關(guān)與一組LED顯示器,如圖所示。開(kāi)關(guān)狀態(tài)用LED顯示,若閉合,則點(diǎn)亮。8255端口地址為310H313H。(1)選擇8255工作方式;編寫(xiě)8255初始化程序與控制程序。見(jiàn)課本P2

27、33四、常用指令與讀程序1、8086CPU執(zhí)行如下指令后的結(jié)果,以及標(biāo)志CF、ZF的值。MOVAL,80HSUBAL,10H;(AL)=70HADDAL,89H;(AL)=F9H,CF=0,ZF=02、CPU執(zhí)行如下指令后的結(jié)果。MOVAX,1234HMOVBX,5678HPUSHAXPOPCXAX=1234H,BX=5678H,CX=1234H寫(xiě)出執(zhí)行下列指令結(jié)果.MOVAX,TABLEMOVBX,OFFSETTABLEMOVCX,NMOVDX,LENGTHZERAX=0BX=1000HCX=8DX=243、單獨(dú)執(zhí)行下列指令的結(jié)果MOVAL,10110101BAL=10110101BANDA

28、L,00011111BAL=00010101BORAL,11000000BAL=11010101BXORAL,00001111BAL=11011010B4、單獨(dú)執(zhí)行下列指令的結(jié)果假設(shè)(AL)=10101111B,,CF=0,CL=4,寫(xiě)出分別執(zhí)行下列指令后的結(jié)果以及標(biāo)志位CF、ZF的值。SHLAL,CLAL=11110000BCF=0ZF=0SHRAL,CLAL=00001010BCF=1ZF=0ROLAL,CLAL=11111010BCF=0ZF=06、讀程序,寫(xiě)出結(jié)果。MOVAL,5BHTESTAL,80HJZLPMOVBL,1JMPSTOPLP:MOVBL,0HLT執(zhí)行上述程序段后AL=

29、5BHBL=0五、程序設(shè)計(jì)與完善1、讀程序,寫(xiě)出結(jié)果。DATASEGMENT;數(shù)據(jù)段定義BUFDB8,2,3,4;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為8,2,3,4COUNTEQU$-BUF;計(jì)算BUF的字節(jié)長(zhǎng)度DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;程序執(zhí)行起始點(diǎn)MOVDS,AX;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段LEASI,BUF;BUF偏移地址指向SIMOVCX,COUNT;設(shè)定循環(huán)次數(shù)CALLADDONE;填空,調(diào)用子程序ADDONEHLTADDONEPROCNEAR;子程序代碼段定義ADDBYTE

30、PTRSI,1;SI中數(shù)據(jù)加1,送回SIINCSI;SI地址加1LOOPDON;循環(huán)判斷RET;返回主程序ADDONEENDP;子程序代碼段定義CODEENDS;代碼段定義ENDSTART;程序結(jié)束(1)執(zhí)行上述程序段后BUF存儲(chǔ)區(qū)的內(nèi)容為:9,3,4,5。(2) 給程序加上完整段定義。(3) 給程序加上注釋?zhuān)f(shuō)該程序功能。程序功能是將BUF中數(shù)據(jù)分別加1,結(jié)果送回原存儲(chǔ)空間2、讀程序并完善。DATASEGMENT;數(shù)據(jù)段定義AR1DB1,2,3,4,5,7;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為1,2,3,4,5,7N=$-AR1;計(jì)算AR1的字節(jié)長(zhǎng)度AR2DBNDUP(O);定義N字節(jié)存儲(chǔ)空間,內(nèi)容

31、為0,0,0,0,0,0DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;程序執(zhí)行起始點(diǎn)MOVDS,AX;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段MOVCX,N;設(shè)定循環(huán)次數(shù)MOVSI,offsetAR1;取AR1偏移地址送SI寄存器MOVDI,offsetAR2;取AR2偏移地址送DI寄存器again:MOVAL,SI;將SI中數(shù)據(jù)送入ALMOVDI,AL;AL內(nèi)容送數(shù)據(jù)到DI所指單兀INCDI;DI所指地址加1INCSI;SI所指地址加1LOOPagain;循環(huán)againMOVAH,4CH;返回DOSINT21

32、HCODEENDS;代碼段定義ENDSTART;程序結(jié)束1)程序執(zhí)行前,AR2單元內(nèi)容為:0,0,0,0,0,02)程序執(zhí)行后,AR2單元內(nèi)容為:123,4,5,73)給程序加上注釋?zhuān)f(shuō)明程序功能;將AR1內(nèi)存單元中數(shù)據(jù)復(fù)制到偏移地址AR2中4)給程序加上完整段定義。3、下面是程序主要片段:DATASEGMENT;數(shù)據(jù)段定義BUFDB0,1,2,3;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為0,1,2,3COUNT=$-BUF;計(jì)算BUF的字節(jié)長(zhǎng)度ASCIIDB0,0,0,0淀義一段字節(jié)存儲(chǔ)空間,內(nèi)容為,0,0,0,0DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義ASSUMESTART:MO

33、VMOVLEALEAMOVMOVADDMOVINCINCLOOPDON:CS:CODE,DS:DATAAX,DATADS,AXSI,BUFDI,ASCIICX,COUNTAL,SIAL,30HDI,ALSIDIDONMOVAH,4CHINT21HENDSSTART;程序執(zhí)行起始點(diǎn);將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段;BUF偏移地址指向SI;ASCII偏移地址指向DI;設(shè)定循環(huán)次數(shù);SI地址內(nèi)數(shù)據(jù)送入AL;AL中數(shù)據(jù)加30H,轉(zhuǎn)換為該數(shù)據(jù)的ASCII碼;AL中數(shù)據(jù)送入DI所指地址中;SI所指地址加1;DI所指地址加1;循環(huán)DON;返回DOS;代碼段定義;程序結(jié)束CODEEND(1)根據(jù)需要加上完整數(shù)據(jù)段段定義、代碼段定義、程序結(jié)束等;(2)寫(xiě)出每行代碼的注釋?zhuān)f(shuō)明程序?qū)崿F(xiàn)的功能。程序的功能是將BUF存儲(chǔ)空間數(shù)據(jù)裝換為AS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論