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

下載本文檔

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

文檔簡介

微機(jī)原理及應(yīng)用期末自測(cè)題 一、基本概念與術(shù)語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端口的信息讀寫,包括指令獲取與排隊(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ǔ)器接口訪問總線上實(shí)際的物理存儲(chǔ)器 )。代碼段物理地址由CPU的( CS,IP )兩個(gè)寄存器確定。堆棧段物理地址由CPU的( SS,SP )兩個(gè)寄存器確定。5、8086中斷源有( 系統(tǒng)外部中斷,內(nèi)部中斷兩 )個(gè)。8086中斷服務(wù)程序入口地址由( 中斷向量表 )組成。中斷類型號(hào)為20H,其中斷向量為( 80H )。6、I/O指令I(lǐng)N/OUT,傳送數(shù)據(jù)的寄存器為( AL,AX ),間接尋址時(shí)使用寄存器( DX ),其中IN AL,DX的含義是( 將DX中的數(shù)據(jù)寫入到AL中 )。OUT 60H,AL的含義是( 將AL讀出到地址為60H的端口中 )。7、一片8259A可以管理( 8 )級(jí)中斷;3片8259A可以管理( 16 )級(jí)中斷。8、硬件中斷是(外部引發(fā),隨機(jī)的,執(zhí)行總線周期,中斷類型碼由中斷控制器提供),軟件中斷是(內(nèi)部引發(fā),確定的,不執(zhí)行總線周期,中斷類型確定 )軟件中斷優(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,說明( IR5,IR7引腳上有中斷請(qǐng)求 )。ISR狀態(tài)為10100000B說明( 出現(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的門控信號(hào)GATE作用是( 門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止計(jì)數(shù)的操作 ),CLK端的作用是( 計(jì)數(shù)器的時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào) ),OUT端作用是( 定時(shí)器的輸出端 )。16、初始化定時(shí)器8253需要先寫( 控制字 ),后寫( 定時(shí)初值 )。17、偽指令的作用是( 指出匯編程序應(yīng)如何對(duì)源程序進(jìn)行匯編,如何定義變量,分配存儲(chǔ)單元,以及指示程序的開始和結(jié)束 ),( 不 )產(chǎn)生機(jī)器代碼。二、簡單應(yīng)用與簡答題1、簡述微型計(jì)算機(jī)的組成。微型計(jì)算機(jī)是由微處理器、存儲(chǔ)器、輸入/輸出接口電路和系統(tǒng)總線構(gòu)成的裸機(jī)系統(tǒng)。2、總線分為哪幾種類型?微型計(jì)算機(jī)采用總線結(jié)構(gòu)有什么優(yōu)點(diǎn)?分為地址總線,數(shù)據(jù)總線與控制總線三類,又稱三總線。微型計(jì)算機(jī)的三總線結(jié)構(gòu)是一個(gè)獨(dú)特的結(jié)構(gòu)。采用總線結(jié)構(gòu),系統(tǒng)中各功能部件之間的相互關(guān)系,變成了各功能部件面向總線的單一關(guān)系。一個(gè)部件只要符合總線標(biāo)準(zhǔn),就可以連接到采用這種總線標(biāo)準(zhǔn)的系統(tǒng)中,使系統(tǒng)功能得到擴(kuò)展。3、8086 CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?其功能是什么? 8086的內(nèi)部結(jié)構(gòu)分成兩部分。總線接口部件BIU,負(fù)責(zé)控制存儲(chǔ)器與I/O端口的信息讀寫,包括指令獲取與排隊(duì)、操作數(shù)存取等。執(zhí)行部件EU負(fù)責(zé)從指令隊(duì)列中取出指令,完成指令譯碼與指令的執(zhí)行行。4、8086的總線接口部件由那幾部分組成? 其功能是什么?8086的總線接口部件主要由下面幾部分組成:4個(gè)段寄存器CS/DS/ES/SS,用于保存各段地址; 一個(gè)16位的指令指針寄存器IP,用于保存當(dāng)前指令的偏移地址; 一個(gè)20位地址加法器,用于形成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)志分兩類。其中狀態(tài)標(biāo)志6位,存放算數(shù)邏輯單元ALU運(yùn)算結(jié)果特征;控制標(biāo)志3位,控制8086的3種特定操作。(4)通用寄存器組,用于暫存數(shù)據(jù)或指針的寄存器陣列。6、簡述8086CPU的流水線思想,與傳統(tǒng)計(jì)算機(jī)有何不同。在8086CPU中,指令的提取與執(zhí)行分別由總線接口部件BIU與執(zhí)行部件EU完成,兩個(gè)單元重疊并行工作,這種機(jī)制稱為流水線,這種工作方式有力的提高了CPU的工作效率。傳統(tǒng)的計(jì)算機(jī)一般按照取指令、指令譯碼與執(zhí)行指令的串行步驟工作。7、8086和8088是怎樣解決地址線和數(shù)據(jù)線的復(fù)用問題的? ALE信號(hào)何時(shí)處于有效電平?8086/8088采用時(shí)間分隔技術(shù)與地址鎖存技術(shù),通過地址鎖存允許信號(hào)ALE鎖存CPU送出的地址,有效解決地址線和數(shù)據(jù)線的復(fù)用問題。 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接口電路安排有哪三類寄存器?它們各自的作用是什么?(1)安排數(shù)據(jù)寄存器、狀態(tài)寄存器、控制寄存器。(2)數(shù)據(jù)寄存器:存放CPU與外設(shè)之間傳送的數(shù)據(jù)信息。狀態(tài)寄存器: 存放當(dāng)前外設(shè)所處的工作狀態(tài)。控制寄存器: 存放CPU通過接口向外設(shè)傳送控制信息。10 簡述CPU與外設(shè)進(jìn)行數(shù)據(jù)交換的幾種常用方式與特點(diǎn)。CPU與外設(shè)之間的數(shù)據(jù)傳輸有以下三種方式:程序方式、中斷方式、DMA方式。(1)程序方式又分為無條件傳送方式和條件傳送方式兩種方式,接口簡單。無條件傳送方式用于簡單外設(shè),如LED顯示器。條件傳送方式用于外設(shè)較少、需要聯(lián)絡(luò)信號(hào)的情形。(2)中斷傳送方式需要專門的中斷控制電路。CPU利用率高,速度快,用于外設(shè)較多的實(shí)時(shí)系統(tǒng)。(3)DMA方式需要專用硬件電路。外設(shè)直接和存儲(chǔ)器進(jìn)行數(shù)據(jù)傳送,效率高,適合大量、快速數(shù)據(jù)傳送,例如硬盤讀寫等。11、簡述條件傳送方式的工作過程,主要適用的場(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)(如選通信號(hào))的外設(shè)較少的系統(tǒng)。12、8086 CPU響應(yīng)中斷的條件?8086 CPU響應(yīng)中斷后自動(dòng)完成的任務(wù)是什么?(1)有中斷源發(fā)出的中斷請(qǐng)求信號(hào),并保存在中斷請(qǐng)求觸發(fā)器中,直至CPU響應(yīng)此中斷請(qǐng)求之后才清除。(2)開放總中斷。(3)在現(xiàn)行指令結(jié)束后響應(yīng)中斷。關(guān)中斷,斷點(diǎn)保護(hù),形成中斷入口地址。即獲得中斷服務(wù)程序的入口地址,從而進(jìn)入中斷服務(wù)程序。13、軟件中斷有哪些特點(diǎn)?硬件中斷有那些特點(diǎn)?軟件中斷是由CPU內(nèi)部事件引起的中斷,是確定的 ;與硬件無關(guān),不執(zhí)行中斷響應(yīng)周期;除單步中斷外,軟件中斷(內(nèi)部中斷)不可屏蔽;優(yōu)先級(jí)高于硬件中斷(外部中斷)。硬件中斷由外部事件引起,是隨機(jī)的,需要執(zhí)行總線周期,中斷類型碼由中斷控制器提供 。14、什么是中斷向量?它放在哪里?對(duì)應(yīng)于類型號(hào)1CH的中斷向量在哪里?如1CH中斷程序從5110H :2030H開始,則中斷向量應(yīng)怎樣存放?中斷向量是中斷處理子程序的入口地址,它放在中斷向量表中。由1ch*4=70H知中斷向量存放在0000:0070處。由于中斷處理入口地址為5110H:2030H,所以2030H應(yīng)放在0070H,0071H兩個(gè)存儲(chǔ)單元,5110H應(yīng)放在0072H、0073H這2個(gè)單元。15、簡述定時(shí)器/計(jì)數(shù)器芯片8253的主要功能。說明OUT、CLOCK與GATE信號(hào)的作用。(1)具有3個(gè)獨(dú)立的16位定時(shí)/計(jì)時(shí)器,采用二進(jìn)制計(jì)數(shù)時(shí)最大計(jì)數(shù)范圍為065535,采用BCD碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值為09999(2)每個(gè)定時(shí)/計(jì)數(shù)器都有自己的時(shí)鐘輸入CLK,定時(shí)的輸出OUT和門控信號(hào)GATE(3)每個(gè)定時(shí)/計(jì)數(shù)器均可以按二進(jìn)制或BCD碼計(jì)數(shù),計(jì)數(shù)頻率可達(dá)2MHz(4)每個(gè)定時(shí)/計(jì)數(shù)器都有6種工作方式,通過編程設(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是門控輸入端,用于外部控制計(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ù)的讀寫格式,確定計(jì)數(shù)器的工作方式,確定計(jì)數(shù)器計(jì)數(shù)的數(shù)制,寫入計(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)輸入,試選擇端口并說明理由。若8255A的端口A工作于方式0輸出,外設(shè)需要提供兩個(gè)聯(lián)絡(luò)信號(hào),把端口C的高4位某位,例如PC7規(guī)定為輸出口,用來輸出選通信號(hào);而把端口C的低4位規(guī)定為輸入口,例如用PC0用來讀入外設(shè)的狀態(tài)。就是這樣,利用端口C來配合端口A和端口B的輸入/輸出操作。19、中斷控制器8259的主要功能?簡述8259的工作過程。中斷控制器8259具有8級(jí)優(yōu)先權(quán)管理,可用9片擴(kuò)展為64級(jí)中斷系統(tǒng),接受中斷請(qǐng)求,提供中斷類型號(hào),具有屏蔽與開放中斷的功能,可編程選擇不同工作方式8259的工作過程:(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處在開中斷,則在當(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ù)總線送出中斷類型碼;同時(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位無符號(hào)數(shù),結(jié)果存在RESULT開始的單元。DATA SEGMENT RESULT DW2 DUP(?)DATAENDSCODESEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX ;初始化 MOVBX,0 MOVAX,X ADDAX,Y JNCS0 MOVBX,1S0: MOVDX,0 MOV CX,10 MULCX ADDDX,BX ADDAX,Z ADCDX,0 MOVBX,X DIVBX LEASI,RESULT MOVSI,AX ADDSI,2 MOVSI,DX MOVAH,4CHINT21HCODE ENDS END START2、將BUF1開始的100字節(jié)傳送到BUF2開始的單元,然后從中檢索字符“#”,并將此單元換成空格字符。DATA SEGMENT BUF2 DB100 DUP(?)DATAENDSCODESEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX ;初始化 MOVES,AX LEASI,BUF1 LEADI,BUF2 MOVCX,100 CLD REPMOVSB MOVCX,100 LEABUF2 S : MOVAL,#COMAL,DI JNZCOUN MOVAL, MOVDI,ALCOUN: INCDI LOOPSMOVAH,4CH INT21HCODE ENDS END START3、編寫一段程序,比較兩個(gè)5字節(jié)的字符串OLDS和NEWS,若相同,在RESULT置0,否則置0FFH。DATA SEGMENT OLDSDB 1,2,3,4,5 NEWSDB 1,2,3,4,A N = $-NEWS RESULTDB 0DATAENDSCODESEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX ;初始化 MOV SI,OFFSET OLDS MOV DI,OFFSET NEWS MOV CX,N DON: MOV AL, SI CMP AL, DI JNZ NOEQU ;串不相等轉(zhuǎn) INC SI INC DI LOOP DON MOV AL,0 JMP OUTPUTNOEQU:MOV AL,0FFH OUTPUT:MOV RESULT,ALSTOP:JMP STOP ;程序陷阱CODE ENDS END START4、累加數(shù)組中的元素,將和存于SUM開始單元,數(shù)據(jù)段定義如下DATASEGMENT ARRAY DW 10,10,12,4,5,6,7,8,9,10 COUNT DW ($-ARRAY)/2 SUM DW ?,?DATAENDS ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOVAX,COUNT MOVBX,2 MULBX MOVCX,AX MOVAX,0 LEASI,ARRAY S:ADDAX,SIADDSI,2 LOOPS LEASI,SUM MOVSI,AX MOVAH,4CHINT21HCODE ENDS END START5、編寫程序完成求123N的累加和,直到累加和超過1000為止。統(tǒng)計(jì)被累加的自然數(shù)的個(gè)數(shù)送CN單元,累加和送SUM。DATASEGMENT CN DW ? SUM DW ?DATAENDS ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX MOV CX,0 MOVAX,0 MOVBX,1 S: ADDAX,BXINCCXCMPAX,1000JAOKINCBXJMPS OK: LEASI,SUM MOVSI,AX LEADI,CNMOVDI,CX MOVAH,4CH INT21HCODE ENDS END START6、從給定串中尋找最大值,并放到MAX單元,元素放在BUFFER開始的字節(jié)單元中。DATASEGMENT BUFFER DB 10,32,56,11,90,56,89,21N EQU$-BUFFER MAX DB ?DATAENDS ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,N-1 LEA SI,BUFFER S: MOV AL,SI CMP AL,SI+1 JNAS1 XCHG SI+1,AL XCHG SI,AL S1: INC SI LOOPS MOVAL,SI LEASI,MAX MOVSI,AL MOVAH,4CH INT21HCODE ENDS END START7、把BUF表中的字節(jié)元素按值的大小升序排列。數(shù)據(jù)段定義如下: BUF DB 10,32,56,11,90,56,89,21 N = $-BUFDATASEGMENT BUF DB 10,32,56,11,90,56,89,21N EQU$-BUFDATAENDS ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,N-1 S1: MOV BL,0 MOV CXDX LEA SI,BUF S2: MOV AL,SI CMP AL,SI+1 JNA NO XCHG SI+1,AL XCHG SI,AL MOV BL,0FFHNO: INC SI LOOPS2 DECDX CMPDX,0 JNES1 MOVAH,4CH INT21HCODE ENDS END START8、類型號(hào)為20H的中斷服務(wù)程序入口符號(hào)地址為INT-5,試寫出中斷向量的裝入程序片斷。CLIPUSH DSPUSH AXXOR AX,AXMOV DS,AXMOV AX,OFFSET INT-5MOV WORD PTR 080H,AXMOV AX,SEG INT-5MOV WORD PTR 082H,AXPOP AXPOP DSSTI9、設(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,端口地址為330H333H。試對(duì)它進(jìn)行初始化編程。MOVAL,00110100B MOV DX, 333H OUTDX,ALMOVAX,40000 MOV DX, 330H OUTDX,AL MOVAL,AHOUTDX,ALMOVAL,01110100B MOV DX, 333H OUTDX,ALMOVAX,5MOV DX, 331H OUTDX,AL MOVAL,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,00110110B OUT43H,ALMOVAX,1000 OUT40H,AL MOVAL,AHOUT40H,ALMOVAL,01110110B OUT43H,ALMOVAX,5000 OUT41HAL MOVAL,AHOUT41H,AL 11、用8255A控制三個(gè)發(fā)光二極管依秩序循環(huán)顯示。假設(shè)開關(guān)閉合時(shí),點(diǎn)亮發(fā)光二極管,開關(guān)斷開時(shí)息滅二極管。(1)畫出原理圖,并說明工作原理;(2)選擇8255工作方式;(3)編寫8255初始化程序與控制程序。見課本P22612、8255連接一組開關(guān)與一組LED顯示器,如圖所示。開關(guān)狀態(tài)用LED顯示,若閉合,則點(diǎn)亮。8255端口地址為310H313H。(1)選擇8255工作方式;編寫8255初始化程序與控制程序。見課本P233四、常用指令與讀程序1、8086 CPU執(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é)果。 MOV AX,1234H MOV BX,5678H PUSH AX POP CXAX=1234H, BX=5678H, CX=1234H寫出執(zhí)行下列指令結(jié)果. MOV AX, TABLE MOV BX, OFFSET TABLE MOV CX, N MOV DX, LENGTH ZERAX=0 BX=1000H CX=8 DX=243、單獨(dú)執(zhí)行下列指令的結(jié)果MOVAL,10110101B AL=10110101BANDAL,00011111B AL=00010101BORAL,11000000B AL=11010101BXORAL,00001111B AL=11011010B4、單獨(dú)執(zhí)行下列指令的結(jié)果 假設(shè)(AL)=10101111B,CF=0,CL=4,寫出分別執(zhí)行下列指令后的結(jié)果以及標(biāo)志位CF、ZF的值。SHL AL,CL AL=11110000B CF=0 ZF=0SHR AL,CL AL=00001010B CF=1 ZF=0ROL AL,CL AL=11111010B CF=0 ZF=06、讀程序,寫出結(jié)果。 MOV AL,5BH TEST AL,80H JZ LP MOV BL,1 JMP STOPLP: MOV BL,0 HLT執(zhí)行上述程序段后AL=5BH BL=0五、程序設(shè)計(jì)與完善1、讀程序,寫出結(jié)果。DATASEGMENT;數(shù)據(jù)段定義 BUF DB 8,2,3,4;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為8,2,3,4 COUNT EQU $-BUF;計(jì)算BUF的字節(jié)長度DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義 ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA;程序執(zhí)行起始點(diǎn) MOV DS,AX ;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段 LEA SI,BUF;BUF偏移地址指向SI MOV CX,COUNT;設(shè)定循環(huán)次數(shù) CALL ADDONE ;填空,調(diào)用子程序ADDONE HLTADDONE PROC NEAR;子程序代碼段定義 ADD BYTE PTRSI,1;SI中數(shù)據(jù)加1,送回SI INC SI;SI地址加1 LOOP DON;循環(huán)判斷 RET;返回主程序 ADDONE ENDP;子程序代碼段定義CODEENDS ;代碼段定義 ENDSTART ;程序結(jié)束 (1)執(zhí)行上述程序段后BUF 存儲(chǔ)區(qū)的內(nèi)容為: 9,3,4,5 。(2)給程序加上完整段定義。(3)給程序加上注釋,說該程序功能。程序功能是將BUF中數(shù)據(jù)分別加1,結(jié)果送回原存儲(chǔ)空間2、讀程序并完善。DATASEGMENT;數(shù)據(jù)段定義 AR1 DB 1,2,3,4,5,7;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為1,2,3,4,5,7 N = $-AR1;計(jì)算AR1的字節(jié)長度 AR2 DB N DUP(0);定義N字節(jié)存儲(chǔ)空間,內(nèi)容為0,0,0,0,0,0 DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義 ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA;程序執(zhí)行起始點(diǎn) MOV DS,AX ;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段 MOV CX,N;設(shè)定循環(huán)次數(shù) MOV SI,offset AR1 ;取AR1偏移地址送SI寄存器 MOV DI,offset AR2 ;取AR2偏移地址送DI寄存器again: MOV AL,SI;將SI中數(shù)據(jù)送入AL MOV DI,AL;AL內(nèi)容送數(shù)據(jù)到DI所指單元 INC DI;DI所指地址加1 INC SI;SI所指地址加1 LOOP again ;循環(huán)again MOVAH, 4CH;返回DOS INT21H CODEENDS ;代碼段定義 ENDSTART ;程序結(jié)束1)程序執(zhí)行前,AR2單元內(nèi)容為:0,0,0,0,0,02)程序執(zhí)行后,AR2單元內(nèi)容為:1,2,3,4,5,73)給程序加上注釋,說明程序功能;將AR1內(nèi)存單元中數(shù)據(jù)復(fù)制到偏移地址AR2中4)給程序加上完整段定義。3、下面是程序主要片段:DATASEGMENT;數(shù)據(jù)段定義 BUF DB 0, 1,2,3;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為0,1,2,3 COUNT = $- BUF;計(jì)算BUF的字節(jié)長度 ASCII DB 0, 0,0,0;定義一段字節(jié)存儲(chǔ)空間,內(nèi)容為,0,0,0,0DATAENDS;數(shù)據(jù)段定義CODESEGMENT;代碼段定義 ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA;程序執(zhí)行起始點(diǎn) MOV DS,AX ;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段 LEA SI, BUF;BUF偏移地址指向SI LEA DI, ASCII ;ASCII偏移地址指向DI MOV CX, COUNT;設(shè)定循環(huán)次數(shù)DON: MOV AL,SI ;SI地址內(nèi)數(shù)據(jù)送入AL ADD AL, 30H ;AL中數(shù)據(jù)加30H,轉(zhuǎn)換為該數(shù)據(jù)的ASCII碼 MOV DI, AL;AL中數(shù)據(jù)送入DI所指地址中 INC SI;SI所指地址加1 INC DI;DI所指地址加1 LOOP DON ;循環(huán)DON MOVAH, 4CH;返回DOS INT21H CODEENDS ;代碼段定義 ENDSTART ;程序結(jié)束(1)根據(jù)需要加上完整數(shù)據(jù)段段定義、代碼段定義、程序結(jié)束等;(2)寫出每行代碼的注釋,說明程序?qū)崿F(xiàn)的功能。程序的功能是將BUF存儲(chǔ)空間數(shù)據(jù)裝換為ASCII碼存入ASCII所指偏移地址 完善程序,說明程

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論