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

下載本文檔

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

文檔簡(jiǎn)介

第頁(yè)《微機(jī)原理與應(yīng)用》期末自測(cè)題一、基本概念與術(shù)語(yǔ)1、8086是(16)位計(jì)算機(jī)。8086地址線(xiàn)有(20)條,可直接尋址的空間最大為(1M)。2、總線(xiàn)周期是指(進(jìn)行一次總線(xiàn)操作的時(shí)間)?;究偩€(xiàn)周期有(4)T狀態(tài)。Tw狀態(tài)是指(等待周期)。3、8086CPU允許的I/O地址線(xiàn)最多可達(dá)(16)條,最大尋址I/O空間為(64K)。4、8086CPU由(總線(xiàn)接口部件BIU,執(zhí)行部件EU)兩部分組成,其功能為(總線(xiàn)接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令的執(zhí)行行。)。其中8086CPU中標(biāo)志寄存器的作用是(記錄指令運(yùn)行的狀態(tài)標(biāo)志和控制標(biāo)志),指令隊(duì)列的作用是(完成指令的獲取和排隊(duì)),20位地址加法器的作用是(將執(zhí)行單元提供的16位非重定位地址重定位為20位的存儲(chǔ)器物理地址,用于存儲(chǔ)器接口訪(fǎng)問(wèn)總線(xià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ě)入到AL中)。OUT60H,AL的含義是(將AL讀出到地址為60H的端口中)。7、一片8259A可以管理(8)級(jí)中斷;3片8259A可以管理(16)級(jí)中斷。8、硬件中斷是(外部引發(fā),隨機(jī)的,執(zhí)行總線(xiàn)周期,中斷類(lèi)型碼由中斷控制器提供),軟件中斷是(內(nèi)部引發(fā),確定的,不執(zhí)行總線(xiàn)周期,中斷類(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狀態(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的端口地址為40H~43H,那么控制端口地址為(43H),通道0、1、2的端口地址為(40H,41H,42H)。14、假設(shè)8255的端口地址為330H~333H,那么控制端口地址為(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í)鐘脈沖輸入端,用于輸入定時(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)總線(xiàn)構(gòu)成的裸機(jī)系統(tǒng)。2、總線(xiàn)分為哪幾種類(lèi)型?微型計(jì)算機(jī)采用總線(xiàn)結(jié)構(gòu)有什么優(yōu)點(diǎn)?分為地址總線(xiàn),數(shù)據(jù)總線(xiàn)與控制總線(xiàn)三類(lèi),又稱(chēng)三總線(xiàn)。 微型計(jì)算機(jī)的三總線(xiàn)結(jié)構(gòu)是一個(gè)獨(dú)特的結(jié)構(gòu)。采用總線(xiàn)結(jié)構(gòu),系統(tǒng)中各功能部件之間的相互關(guān)系,變成了各功能部件面向總線(xiàn)的單一關(guān)系。一個(gè)部件只要符合總線(xiàn)標(biāo)準(zhǔn),就可以連接到采用這種總線(xiàn)標(biāo)準(zhǔn)的系統(tǒng)中,使系統(tǒng)功能得到擴(kuò)展。3、8086CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?其功能是什么?8086的內(nèi)部結(jié)構(gòu)分成兩部分??偩€(xiàn)接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息讀寫(xiě),包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令的執(zhí)行行。4、8086的總線(xiàn)接口部件由那幾部分組成?其功能是什么?8086的總線(xiàn)接口部件主要由下面幾部分組成:4個(gè)段寄存器CS/DS/ES/SS,用于保存各段地址;一個(gè)16位的指令指針寄存器IP,用于保存當(dāng)前指令的偏移地址;一個(gè)20位地址加法器,用于形成20位物理地址;指令流字節(jié)隊(duì)列,用于保存指令;存儲(chǔ)器接口,用于內(nèi)總線(xiàn)與外總線(xiàn)的連接。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的流水線(xiàn)思想,與傳統(tǒng)計(jì)算機(jī)有何不同。在8086CPU中,指令的提取與執(zhí)行分別由總線(xiàn)接口部件BIU與執(zhí)行部件EU完成,兩個(gè)單元重疊并行工作,這種機(jī)制稱(chēng)為流水線(xiàn),這種工作方式有力的提高了CPU的工作效率。傳統(tǒng)的計(jì)算機(jī)一般按照取指令、指令譯碼與執(zhí)行指令的串行步驟工作。7、8086和8088是怎樣解決地址線(xiàn)和數(shù)據(jù)線(xiàn)的復(fù)用問(wèn)題的?ALE信號(hào)何時(shí)處于有效電平?8086/8088采用時(shí)間分隔技術(shù)與地址鎖存技術(shù),通過(guò)地址鎖存允許信號(hào)ALE鎖存CPU送出的地址,有效解決地址線(xiàn)和數(shù)據(jù)線(xiàn)的復(fù)用問(wèn)題。ALE在T1狀態(tài)有效,將CPU送出的20位地址鎖存。8、計(jì)算機(jī)對(duì)I/O端口編址時(shí)通常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法對(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)??刂萍拇嫫?存放CPU通過(guò)接口向外設(shè)傳送控制信息。10簡(jiǎn)述CPU與外設(shè)進(jìn)行數(shù)據(jù)交換的幾種常用方式與特點(diǎn)。CPU與外設(shè)之間的數(shù)據(jù)傳輸有以下三種方式:程序方式、中斷方式、DMA方式。(1)程序方式又分為無(wú)條件傳送方式和條件傳送方式兩種方式,接口簡(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)位是否滿(mǎn)足“就緒”條件,如不滿(mǎn)足,則回到前一步讀取狀態(tài)字。(3)如狀態(tài)字表明外設(shè)已處于就緒狀態(tài),則傳送數(shù)據(jù)。主要用于需要聯(lián)絡(luò)信號(hào)(如選通信號(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í)行總線(xiàn)周期,中斷類(lèi)型碼由中斷控制器提供。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ù)范圍為0~65535,采用BCD碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值為0~9999(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端口地址為200H-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、假設(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ò)程:(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ù)總線(xiàn)送出中斷類(lèi)型碼;同時(shí),CPU取出此向量乘以4,(10).得到中斷服務(wù)程序的入口地址;(11).中斷響應(yīng)周期完成,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)始的單元。DATA SEGMENT RESULT DW 2 DUP(?)DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX ;初始化MOV BX,0MOV AX,XADD AX,YJNC S0 MOV BX,1S0: MOV DX,0MOVCX,10MUL CX ADD DX,BXADD AX,Z ADC DX,0MOV BX,XDIV BX LEA SI,RESULT MOV [SI],AX ADD SI,2 MOV [SI],DX MOV AH,4CHINT 21HCODEENDSENDSTART2、將BUF1開(kāi)始的100字節(jié)傳送到BUF2開(kāi)始的單元,然后從中檢索字符“#”,并將此單元換成空格字符。DATA SEGMENT BUF2 DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AX ;初始化MOV ES,AX LEA SI,BUF1 LEA DI,BUF2 MOV CX,100 CLDREP MOVSB MOV CX,100LEA BUF2S: MOV AL,’#’COM AL,[DI] JNZ COUN MOV AL,’’ MOV [DI],ALCOUN: INC DI LOOP S MOV AH,4CH INT 21HCODEENDSENDSTART3、編寫(xiě)一段程序,比較兩個(gè)5字節(jié)的字符串OLDS和NEWS,若相同,在RESULT置0,否則置0FFH。 DATA SEGMENTOLDS DB1,2,3,4,5 NEWS DB1,2,3,4,'A' N=$-NEWS RESULT DB0DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX ;初始化 MOVSI,OFFSETOLDS MOVDI,OFFSETNEWS MOVCX,NDON: MOVAL,[SI] CMPAL,[DI] JNZNOEQU;串不相等轉(zhuǎn) INCSI INCDI LOOPDON MOVAL,0 JMPOUTPUTNOEQU: MOVAL,0FFHOUTPUT: MOVRESULT,ALSTOP: JMPSTOP;程序陷阱CODEENDSENDSTART4、累加數(shù)組中的元素,將和存于SUM開(kāi)始單元,數(shù)據(jù)段定義如下DATA SEGMENT ARRAYDW10,10,12,4,5,6,7,8,9,10 COUNTDW($-ARRAY)/2 SUMDW?,?DATA ENDSASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOV AX,COUNT MOV BX,2 MUL BX MOV CX,AX MOV AX,0 LEA SI,ARRAYS: ADD AX,[SI] ADD SI,2 LOOP S LEA SI,SUM MOV [SI],AX MOV AH,4CHINT 21HCODEENDSENDSTART5、編寫(xiě)程序完成求1+2+3+……N的累加和,直到累加和超過(guò)1000為止。統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù)送CN單元,累加和送SUM。DATA SEGMENT CN DW? SUMDW?DATA ENDSASSUMECS:CODE,DS:DATASTART: MOVAX,DATAMOVDS,AX MOV CX,0 MOV AX,0 MOV BX,1S: ADD AX,BXINC CXCMP AX,1000JA OKINC BXJMP SOK:LEA SI,SUM MOV [SI],AX LEA DI,CNMOV [DI],CX MOV AH,4CH INT 21HCODEENDSENDSTART6、從給定串中尋找最大值,并放到MAX單元,元素放在BUFFER開(kāi)始的字節(jié)單元中。DATA SEGMENTBUFFERDB10,32,56,11,90,56,89,21N EQU $-BUFFERMAXDB?DATA ENDSASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOV CX,N-1LEA SI,BUFFERS:MOV AL,[SI]CMP AL,[SI+1]JNA S1XCHG [SI+1],ALXCHG [SI],ALS1:INCSILOOP SMOV AL,[SI]LEA SI,MAXMOV SI,ALMOV AH,4CHINT 21HCODEENDSENDSTART7、把BUF表中的字節(jié)元素按值的大小升序排列。數(shù)據(jù)段定義如下:BUFDB10,32,56,11,90,56,89,21N=$-BUFDATA SEGMENTBUFDB10,32,56,11,90,56,89,21N EQU $-BUFDATA ENDSASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOV DX,N-1S1:MOV BL,0MOV CXDXLEA SI,BUFS2:MOV AL,[SI]CMP AL,[SI+1]JNA NOXCHG [SI+1],ALXCHG [SI],ALMOV BL,0FFHNO:INCSILOOP S2DEC DXCMP DX,0JNE S1MOV AH,4CHINT 21HCODEENDSENDSTART8、類(lèi)型號(hào)為20H的中斷服務(wù)程序入口符號(hào)地址為INT-5,試寫(xiě)出中斷向量的裝入程序片斷。CLIPUSHDSPUSHAXXORAX,AXMOVDS,AXMOVAX,OFFSETINT-5MOVWORDPTR[080H],AXMOVAX,SEGINT-5MOVWORDPTR[082H],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,端口地址為330H~333H。試對(duì)它進(jìn)行初始化編程。MOV AL,00110100BMOVDX,333HOUT DX,ALMOV AX,40000MOVDX,330HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,01110100BMOVDX,333HOUT DX,ALMOV AX,5MOVDX,331HOUT DX,ALMOV AL,AHOUT DX,AL10、已知某8253占用I/O空間地址為40H~43H,設(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)。MOV AL,00110110BOUT 43H,ALMOV AX,1000OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,01110110BOUT 43H,ALMOV AX,5000OUT 41HALMOV AL,AHOUT 41H,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端口地址為310H~313H。(1)選擇8255工作方式;編寫(xiě)8255初始化程序與控制程序。見(jiàn)課本P233四、常用指令與讀程序1、8086CPU執(zhí)行如下指令后的結(jié)果,以與標(biāo)志CF、ZF的值。MOV AL,80H SUB AL,10H;(AL)=70H ADD AL,89H;(AL)=F9H,CF=0,ZF=02、CPU執(zhí)行如下指令后的結(jié)果。MOVAX,1234HMOVBX,5678HPUSHAXPOPCXAX=1234H,BX=5678H,CX=1234H寫(xiě)出執(zhí)行下列指令結(jié)果. MOVAX,TABLE MOVBX,OFFSETTABLE MOVCX,N MOVDX,LENGTHZERAX=0BX=1000HCX=8DX=243、單獨(dú)執(zhí)行下列指令的結(jié)果 MOV AL,10110101BAL=10110101B AND AL,00011111B AL=00010101B OR AL,11000000B AL=11010101B XOR AL,00001111B AL=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,5BH TEST AL,80H JZ LP MOV BL,1 JMP STOPLP:MOVBL,0 HLT執(zhí)行上述程序段后AL=5BHBL=0五、程序設(shè)計(jì)與完善1、讀程序,寫(xiě)出結(jié)果。DATA SEGMENT ;數(shù)據(jù)段定義BUFDB8,2,3,4 ;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為8,2,3,4COUNTEQU$-BUF ;計(jì)算BUF的字節(jié)長(zhǎng)度DATA ENDS ;數(shù)據(jù)段定義CODE SEGMENT ;代碼段定義ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA ;程序執(zhí)行起始點(diǎn) MOVDS,AX ;將數(shù)據(jù)段地址寄存器指向用戶(hù)數(shù)據(jù)段 LEASI,BUF ;BUF偏移地址指向SI MOVCX,COUNT ;設(shè)定循環(huán)次數(shù) CALLADDONE;填空,調(diào)用子程序ADDONE HLTADDONEPROCNEAR ;子程序代碼段定義 ADDBYTEPTR[SI],1 ;SI中數(shù)據(jù)加1,送回SI INCSI ;SI地址加1 LOOPDON ;循環(huán)判斷 RET ;返回主程序ADDONEENDP ;子程序代碼段定義CODE ENDS;代碼段定義END START ;程序結(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、讀程序并完善。DATA SEGMENT ;數(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(0) ;定義N字節(jié)存儲(chǔ)空間,內(nèi)容為0,0,0,0,0,0DATA ENDS ;數(shù)據(jù)段定義CODE SEGMENT ;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA ;程序執(zhí)行起始點(diǎn)MOVDS,AX ;將數(shù)據(jù)段地址寄存器指向用戶(hù)數(shù)據(jù)段MOVCX,N ;設(shè)定循環(huán)次數(shù) MOVSI,offsetAR1;取AR1偏移地址送SI寄存器 MOVDI,offsetAR2;取AR2偏移地址送DI寄存器again:MOVAL,[SI] ;將SI中數(shù)據(jù)送入AL MOV[DI],AL ;AL內(nèi)容送數(shù)據(jù)到DI所指單元INCDI ;DI所指地址加1 INCSI ;SI所指地址加1 LOOPagain;循環(huán)againMOV AH,4CH ;返回DOSINT 21HCODE ENDS;代碼段定義END START ;程序結(jié)束1)程序執(zhí)行前,AR2單元內(nèi)容為:0,0,0,0,0,02)程序執(zhí)行后,AR2單元內(nèi)容為: 1,2,3,4,5,73)給程序加上注釋?zhuān)f(shuō)明程序功能;將AR1內(nèi)存單元中數(shù)據(jù)復(fù)制到偏移地址AR2中4)給程序加上完整段定義。3、下面是程序主要片段:DATA SEGMENT ;數(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,0DATA ENDS ;數(shù)據(jù)段定義CODE SEGMENT ;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA ;程序執(zhí)行起始點(diǎn)MOVDS,AX ;將數(shù)據(jù)段地址寄存器指向用戶(hù)數(shù)據(jù)段LEASI,BUF ;BUF偏移地址指向SI LEADI,ASCII ;ASCII偏移地址指向DI MOVCX,COUNT ;設(shè)定循環(huán)次數(shù)DON:MOVAL,[SI];SI地址內(nèi)數(shù)據(jù)送入ALADDAL,30H;AL中數(shù)據(jù)加30H,轉(zhuǎn)換為該數(shù)據(jù)的ASCII碼MOV[DI],AL ;AL中數(shù)據(jù)送入DI所指地址中INCSI ;SI所指地址加1INCDI ;DI所指地址加1LOOPDON;循環(huán)DONMOV AH,4CH ;返回DOSINT 21HCODE ENDS;代碼段定義END START ;程序結(jié)束(1)根據(jù)需要加上完整數(shù)據(jù)段段定義、代碼段定義、程序結(jié)束等;(2)寫(xiě)出每行代碼的注釋?zhuān)f(shuō)明程序?qū)崿F(xiàn)的功能。程序的功能是將BUF存儲(chǔ)空間數(shù)據(jù)裝換為ASCII碼存入ASCII所指偏移地址完善程序,說(shuō)明程序功能(15分)下面是程序主要片段:DATA SEGMENT ;數(shù)據(jù)段定義BUFDW1234H,5678H ;定義一段字存儲(chǔ)空間,內(nèi)容為1234H,5678HMAXDW? ;定義一個(gè)字存儲(chǔ)空間DATA ENDS ;數(shù)據(jù)段定義CODE SEGMENT ;代碼段定義ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA ;程序執(zhí)行起始點(diǎn) MOVDS,AX ;將數(shù)據(jù)段地址寄存器指向用戶(hù)數(shù)據(jù)段MOVSI,OFFSETBUF ;BUF偏移地址指向SI MOVAX,[SI] ;SI所指地址數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論