版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年微機(jī)原理作業(yè)及答案一、選擇題1.8086CPU內(nèi)部結(jié)構(gòu)按功能分為兩部分,即()。A.運(yùn)算器與控制器B.寄存器組與ALUC.EU與BIUD.指令隊(duì)列與地址加法器答案:C解析:8086CPU內(nèi)部按功能分為執(zhí)行單元(EU)和總線接口單元(BIU)兩部分。運(yùn)算器與控制器是CPU整體的功能劃分概念;寄存器組與ALU是EU中的組成部分;指令隊(duì)列與地址加法器分別是BIU中的部件。所以答案選C。2.8086CPU可訪問(wèn)的I/O地址空間為()。A.1KBB.64KBC.1MBD.16MB答案:B解析:8086CPU使用16位地址線來(lái)尋址I/O端口,其可訪問(wèn)的I/O地址空間為2^16=65536個(gè)地址,即64KB。所以答案是B。3.8086CPU中,用于暫存指令的寄存器是()。A.IPB.SPC.CSD.指令隊(duì)列答案:D解析:指令隊(duì)列用于暫存從存儲(chǔ)器中預(yù)取的指令,以提高CPU的執(zhí)行效率。IP是指令指針寄存器,指示下一條要執(zhí)行指令的偏移地址;SP是堆棧指針寄存器,指向堆棧棧頂;CS是代碼段寄存器,存放代碼段的段基址。所以答案選D。4.若CS=1000H,IP=2000H,則指令的物理地址為()。A.12000HB.3000HC.10200HD.21000H答案:A解析:在8086系統(tǒng)中,物理地址的計(jì)算公式為:物理地址=段基址×16+偏移地址。已知CS=1000H為段基址,IP=2000H為偏移地址,將CS左移4位(相當(dāng)于乘以16)再加上IP可得:1000H×16+2000H=10000H+2000H=12000H。所以答案是A。5.8086CPU響應(yīng)可屏蔽中斷的條件是()。A.IF=0B.IF=1C.TF=0D.TF=1答案:B解析:IF是中斷允許標(biāo)志位,當(dāng)IF=1時(shí),CPU允許響應(yīng)可屏蔽中斷;當(dāng)IF=0時(shí),CPU禁止響應(yīng)可屏蔽中斷。TF是單步標(biāo)志位,與可屏蔽中斷響應(yīng)無(wú)關(guān)。所以答案選B。二、填空題1.8086CPU有______根地址線,可直接尋址的內(nèi)存空間為_(kāi)_____。答案:20;1MB解析:8086CPU有20根地址線,其可直接尋址的內(nèi)存空間為2^20=1048576字節(jié),即1MB。2.8086CPU中的標(biāo)志寄存器FR是一個(gè)______位的寄存器,其中有______個(gè)狀態(tài)標(biāo)志位和______個(gè)控制標(biāo)志位。答案:16;6;3解析:8086CPU的標(biāo)志寄存器FR是16位的,其中包含6個(gè)狀態(tài)標(biāo)志位(CF、PF、AF、ZF、SF、OF)和3個(gè)控制標(biāo)志位(TF、IF、DF)。3.在8086系統(tǒng)中,堆棧的操作原則是______。答案:后進(jìn)先出(LIFO)解析:堆棧是一種數(shù)據(jù)結(jié)構(gòu),在8086系統(tǒng)中,堆棧的操作遵循后進(jìn)先出的原則,即最后壓入堆棧的數(shù)據(jù)最先彈出。4.8086CPU的中斷類型碼的范圍是______。答案:0255解析:8086CPU可處理256種不同類型的中斷,中斷類型碼的范圍是0255。5.若要使8086CPU工作在最大模式,MN/MX引腳應(yīng)接______電平。答案:低解析:MN/MX是8086CPU的最小/最大模式控制引腳,當(dāng)MN/MX接低電平時(shí),CPU工作在最大模式;當(dāng)MN/MX接高電平時(shí),CPU工作在最小模式。三、簡(jiǎn)答題1.簡(jiǎn)述8086CPU中EU和BIU的主要功能。答:EU(執(zhí)行單元)的主要功能:負(fù)責(zé)執(zhí)行指令。EU從指令隊(duì)列中取出指令,對(duì)指令進(jìn)行譯碼,并執(zhí)行指令所規(guī)定的操作。進(jìn)行算術(shù)和邏輯運(yùn)算。EU包含算術(shù)邏輯單元(ALU),可以完成加、減、乘、除等算術(shù)運(yùn)算以及與、或、非等邏輯運(yùn)算。管理通用寄存器和標(biāo)志寄存器。EU可以對(duì)通用寄存器中的數(shù)據(jù)進(jìn)行操作,并根據(jù)運(yùn)算結(jié)果設(shè)置標(biāo)志寄存器中的相應(yīng)標(biāo)志位。BIU(總線接口單元)的主要功能:負(fù)責(zé)與存儲(chǔ)器和I/O端口進(jìn)行數(shù)據(jù)傳輸。BIU通過(guò)系統(tǒng)總線從存儲(chǔ)器中讀取指令和數(shù)據(jù),或者將數(shù)據(jù)寫入存儲(chǔ)器和I/O端口。形成物理地址。BIU根據(jù)段寄存器和偏移地址計(jì)算出20位的物理地址,以便訪問(wèn)內(nèi)存單元。預(yù)取指令。BIU會(huì)提前從存儲(chǔ)器中取出一些指令,存放在指令隊(duì)列中,這樣當(dāng)EU執(zhí)行完當(dāng)前指令后,可以立即從指令隊(duì)列中獲取下一條指令,提高了CPU的執(zhí)行效率。2.說(shuō)明8086CPU中物理地址的形成過(guò)程。答:在8086系統(tǒng)中,由于CPU內(nèi)部的寄存器是16位的,而地址線有20根,為了能夠訪問(wèn)1MB的內(nèi)存空間,采用了分段管理的方式。物理地址的形成過(guò)程如下:段基址的獲?。憾位反娣旁诙渭拇嫫鳎–S、DS、SS、ES)中,每個(gè)段寄存器都是16位的。偏移地址的獲?。浩频刂房梢允侵噶钪羔樇拇嫫鳎↖P)、堆棧指針寄存器(SP)、基址指針寄存器(BP)、源變址寄存器(SI)、目的變址寄存器(DI)等寄存器的值,或者是通過(guò)指令中的位移量計(jì)算得到的。物理地址的計(jì)算:物理地址=段基址×16+偏移地址。具體來(lái)說(shuō),就是將段寄存器中的值左移4位(相當(dāng)于乘以16),然后再加上偏移地址,得到20位的物理地址。例如,若CS=1000H,IP=2000H,則物理地址=1000H×16+2000H=10000H+2000H=12000H。3.簡(jiǎn)述8086CPU可屏蔽中斷的響應(yīng)過(guò)程。答:8086CPU可屏蔽中斷的響應(yīng)過(guò)程如下:中斷請(qǐng)求:外部設(shè)備通過(guò)INTR引腳向CPU發(fā)出可屏蔽中斷請(qǐng)求信號(hào)。中斷允許判斷:CPU在每個(gè)指令周期的最后一個(gè)時(shí)鐘周期檢測(cè)INTR引腳,如果IF=1(中斷允許標(biāo)志位為1),則CPU響應(yīng)中斷;如果IF=0,則CPU不響應(yīng)中斷。中斷響應(yīng)周期:CPU進(jìn)入兩個(gè)連續(xù)的中斷響應(yīng)周期,在第一個(gè)中斷響應(yīng)周期,CPU發(fā)出中斷響應(yīng)信號(hào)INTA通知外部設(shè)備,讓其準(zhǔn)備發(fā)送中斷類型碼;在第二個(gè)中斷響應(yīng)周期,外部設(shè)備通過(guò)數(shù)據(jù)總線將中斷類型碼傳送給CPU。保護(hù)現(xiàn)場(chǎng):CPU將標(biāo)志寄存器FR的內(nèi)容壓入堆棧,同時(shí)將IF和TF標(biāo)志位清零,以禁止新的可屏蔽中斷和單步中斷。然后將當(dāng)前的CS和IP寄存器的值壓入堆棧,保存當(dāng)前的程序斷點(diǎn)。查找中斷服務(wù)程序入口地址:CPU根據(jù)接收到的中斷類型碼,乘以4得到中斷向量表的地址,從中斷向量表中取出4個(gè)字節(jié)的中斷服務(wù)程序入口地址(前兩個(gè)字節(jié)為偏移地址,后兩個(gè)字節(jié)為段基址),分別裝入IP和CS寄存器。執(zhí)行中斷服務(wù)程序:CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,完成相應(yīng)的中斷處理任務(wù)?;謴?fù)現(xiàn)場(chǎng):中斷服務(wù)程序執(zhí)行完畢后,CPU從堆棧中彈出原來(lái)保存的CS、IP和FR的內(nèi)容,恢復(fù)程序斷點(diǎn)和標(biāo)志寄存器的狀態(tài)。返回主程序:CPU執(zhí)行IRET指令,從中斷服務(wù)程序返回主程序,繼續(xù)執(zhí)行原來(lái)的程序。4.說(shuō)明8086CPU中堆棧的作用和操作方法。答:堆棧的作用:保護(hù)現(xiàn)場(chǎng):在調(diào)用子程序或響應(yīng)中斷時(shí),需要將一些寄存器的值保存起來(lái),以便在子程序或中斷服務(wù)程序執(zhí)行完畢后能夠恢復(fù)原來(lái)的狀態(tài)。堆??梢杂脕?lái)保存這些寄存器的值,起到保護(hù)現(xiàn)場(chǎng)的作用。傳遞參數(shù):在子程序調(diào)用時(shí),可以通過(guò)堆棧將參數(shù)傳遞給子程序,子程序執(zhí)行完畢后也可以通過(guò)堆棧將結(jié)果返回給主程序。支持中斷和子程序嵌套:當(dāng)發(fā)生中斷或子程序嵌套調(diào)用時(shí),堆棧可以保存多個(gè)程序斷點(diǎn)和現(xiàn)場(chǎng)信息,確保程序能夠正確地返回和恢復(fù)。堆棧的操作方法:堆棧指針:8086CPU中使用堆棧指針寄存器(SP)來(lái)指示堆棧棧頂?shù)奈恢?。SP始終指向堆棧棧頂?shù)南乱粋€(gè)空閑單元。壓棧操作(PUSH):將數(shù)據(jù)壓入堆棧的操作稱為壓棧。壓棧時(shí),先將SP的值減2,然后將數(shù)據(jù)存入SP所指向的內(nèi)存單元。例如,執(zhí)行PUSHAX指令時(shí),先SP=SP2,然后將AX中的內(nèi)容存入SP所指向的兩個(gè)內(nèi)存單元。出棧操作(POP):將數(shù)據(jù)從堆棧中彈出的操作稱為出棧。出棧時(shí),先將SP所指向的內(nèi)存單元中的數(shù)據(jù)取出,然后將SP的值加2。例如,執(zhí)行POPAX指令時(shí),先將SP所指向的兩個(gè)內(nèi)存單元中的數(shù)據(jù)存入AX,然后SP=SP+2。四、編程題1.編寫一個(gè)8086匯編語(yǔ)言程序,將內(nèi)存中從2000H:1000H開(kāi)始的10個(gè)字節(jié)數(shù)據(jù)傳送到2000H:2000H開(kāi)始的內(nèi)存單元中。```asm.MODELSMALL.STACK100H.DATA;無(wú)數(shù)據(jù)定義.CODEMAINPROCMOVAX,2000HMOVDS,AX;設(shè)置數(shù)據(jù)段寄存器MOVES,AX;設(shè)置附加段寄存器MOVSI,1000H;源數(shù)據(jù)地址偏移量MOVDI,2000H;目的數(shù)據(jù)地址偏移量MOVCX,10;數(shù)據(jù)個(gè)數(shù)CLD;清方向標(biāo)志,使串操作按遞增方式進(jìn)行REPMOVSB;重復(fù)執(zhí)行串傳送操作MOVAH,4CH;返回操作系統(tǒng)INT21HMAINENDPENDMAIN```解析:首先,設(shè)置數(shù)據(jù)段寄存器DS和附加段寄存器ES為2000H,因?yàn)樵磾?shù)據(jù)和目的數(shù)據(jù)都在同一個(gè)段中。然后,將源數(shù)據(jù)的偏移地址1000H存入SI寄存器,目的數(shù)據(jù)的偏移地址2000H存入DI寄存器,數(shù)據(jù)個(gè)數(shù)10存入CX寄存器。使用CLD指令清方向標(biāo)志,使串操作按遞增方式進(jìn)行。最后,使用REPMOVSB指令重復(fù)執(zhí)行串傳送操作,將從2000H:1000H開(kāi)始的10個(gè)字節(jié)數(shù)據(jù)傳送到2000H:2000H開(kāi)始的內(nèi)存單元中。程序結(jié)束時(shí),使用INT21H中斷返回操作系統(tǒng)。2.編寫一個(gè)8086匯編語(yǔ)言程序,統(tǒng)計(jì)內(nèi)存中從3000H:0100H開(kāi)始的20個(gè)字節(jié)數(shù)據(jù)中正數(shù)的個(gè)數(shù),并將結(jié)果存放在3000H:0200H單元中。```asm.MODELSMALL.STACK100H.DATA;無(wú)數(shù)據(jù)定義.CODEMAINPROCMOVAX,3000HMOVDS,AX;設(shè)置數(shù)據(jù)段寄存器MOVSI,0100H;數(shù)據(jù)起始地址偏移量MOVCX,20;數(shù)據(jù)個(gè)數(shù)MOVBL,0;正數(shù)個(gè)數(shù)計(jì)數(shù)器COUNT_LOOP:MOVAL,[SI];取一個(gè)字節(jié)數(shù)據(jù)TESTAL,80H;測(cè)試最高位是否為1JNZNEXT;如果最高位為1,說(shuō)明是負(fù)數(shù),跳轉(zhuǎn)到NEXTINCBL;否則,正數(shù)個(gè)數(shù)加1NEXT:INCSI;指向下一個(gè)數(shù)據(jù)LOOPCOUNT_LOOP;循環(huán)直到CX為0MOV[0200H],BL;將正數(shù)個(gè)數(shù)存入3000H:0200H單元MOVAH,4CH;返回操作系統(tǒng)INT21HMAINENDPENDMAIN```解析:先設(shè)置數(shù)據(jù)段寄存器DS為3000H。將數(shù)據(jù)起始地址的偏移量0100H存入SI寄存器,數(shù)據(jù)個(gè)數(shù)20存入CX寄存器,正數(shù)個(gè)數(shù)計(jì)數(shù)器BL初始化為0。進(jìn)入循環(huán),每次從內(nèi)存中取出一個(gè)字節(jié)數(shù)據(jù),使用TEST指令測(cè)試其最高位是否為1,如果最高位為1,則說(shuō)明是負(fù)數(shù),跳轉(zhuǎn)到NEXT;否則,正數(shù)個(gè)數(shù)加1。指向下一個(gè)數(shù)據(jù),繼續(xù)循環(huán),直到CX為0。最后,將正數(shù)個(gè)數(shù)存入3000H:0200H單元,并返回操作系統(tǒng)。3.編寫一個(gè)8086匯編語(yǔ)言程序,實(shí)現(xiàn)兩個(gè)16位無(wú)符號(hào)數(shù)相加,這兩個(gè)數(shù)分別存放在2000H:1000H和2000H:1002H單元中,結(jié)果存放在2000H:1004H和2000H:1006H單元中。```asm.MODELSMALL.STACK100H.DATA;無(wú)數(shù)據(jù)定義.CODEMAINPROCMOVAX,2000HMOVDS,AX;設(shè)置數(shù)據(jù)段寄存器MOVAX,[1000H];取第一個(gè)16位無(wú)符號(hào)數(shù)ADDAX,[1002H];與第二個(gè)16位無(wú)符號(hào)數(shù)相加MOV[1004H],AX;保存低16位結(jié)果MOVAX,0;清AXADCAX,0;加上進(jìn)位MOV[1006H],AX;保存高16位結(jié)果MOVAH,4CH;返回操作系統(tǒng)INT21HMAINENDPENDMAIN```解析:首先設(shè)置數(shù)據(jù)段寄存器DS為2000H。從2000H:1000H單元取出第一個(gè)16位無(wú)符號(hào)數(shù)存入AX寄存器,然后與從2000H:1002H單元取出的第二個(gè)16位無(wú)符號(hào)數(shù)相加。將相加結(jié)果的低16位存入2000H:1004H單元。為了處理可能產(chǎn)生的進(jìn)位,將AX清零,使用ADC指令加上進(jìn)位,將結(jié)果存入2000H:1006H單元,保存高16位結(jié)果。最后返回操作系統(tǒng)。五、綜合題1.設(shè)計(jì)一個(gè)8086微機(jī)系統(tǒng),實(shí)現(xiàn)對(duì)外部8個(gè)開(kāi)關(guān)狀態(tài)的檢測(cè),并將檢測(cè)結(jié)果通過(guò)8個(gè)發(fā)光二極管顯示出來(lái)。要求使用8255A作為接口芯片,畫出硬件連接圖,并編寫相應(yīng)的匯編語(yǔ)言程序。硬件連接圖設(shè)計(jì)8255A的端口地址:假設(shè)8255A的端口地址為0040H0043H,其中0040H為A口地址,0041H為B口地址,0042H為C口地址,0043H為控制口地址。硬件連接:將8個(gè)開(kāi)關(guān)連接到8255A的A口,作為輸入設(shè)備。將8個(gè)發(fā)光二極管連接到8255A的B口,作為輸出設(shè)備。8255A的片選信號(hào)CS連接到地址譯碼電路,以選擇8255A芯片;讀寫信號(hào)RD、WR分別連接到CPU的相應(yīng)信號(hào);數(shù)據(jù)總線D0D7連接到CPU的數(shù)據(jù)總線。匯編語(yǔ)言程序設(shè)計(jì)```asm.MODELSMALL.STACK100H.DATA;無(wú)數(shù)據(jù)定義.CODEMAINPROCMOVAX,@DATAMOVDS,AXMOVAL,10010000B;方式0,A口輸入,B口輸出MOVDX,0043H;控制口地址OUTDX,AL;寫入控制字READ_LOOP:MOVDX,0040H;A口地址INAL,DX;讀取開(kāi)關(guān)狀態(tài)MOVDX,0041H;B口地址OUTDX,AL;將開(kāi)關(guān)狀態(tài)輸出到發(fā)光二極管JMPREAD_LOOP;循環(huán)讀取MOVAH,4CH;返回操作系統(tǒng)INT21HMAINENDPENDMAIN```解析:程序首先初始化數(shù)據(jù)段寄存器DS。向8255A的控制口寫入控制字,設(shè)置8255A的工作方式為方式0,A口為輸入,B口為輸出。進(jìn)入循環(huán),不斷讀取8255A的A口的開(kāi)關(guān)狀態(tài),并將其輸出到B口的發(fā)光二極管上,實(shí)現(xiàn)開(kāi)關(guān)狀態(tài)的檢測(cè)和顯示。最后可通過(guò)中斷返回操作系統(tǒng)。2.結(jié)合8086微機(jī)原理,闡述微機(jī)系統(tǒng)中存儲(chǔ)器擴(kuò)展的方法和原則。存儲(chǔ)器擴(kuò)展的方法位擴(kuò)展:當(dāng)單個(gè)存儲(chǔ)芯片的位數(shù)不能滿足系統(tǒng)要求時(shí),需要進(jìn)行位擴(kuò)展。位擴(kuò)展是將多個(gè)存儲(chǔ)芯片的地址線、片選線和讀寫控制線并聯(lián),而數(shù)據(jù)線分別連接到系統(tǒng)數(shù)據(jù)總線的不同位上。例如,用4片1K×4位的存儲(chǔ)芯片可以擴(kuò)展成1K×16位的存儲(chǔ)器。將4片芯片的地址線A0A9、片選信號(hào)CS和讀寫信號(hào)WE分別并聯(lián),第一片芯片的數(shù)據(jù)線D0D3連接到系統(tǒng)數(shù)據(jù)總線的D0D
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河南南陽(yáng)理工學(xué)院人才招聘30人考試備考題庫(kù)及答案解析
- 2026年第五師八十八團(tuán)國(guó)家級(jí)公益林護(hù)林員招聘(3人)考試備考試題及答案解析
- 2026山東省淄博第十一中學(xué)招聘11人考試參考題庫(kù)及答案解析
- 2026湖南長(zhǎng)沙市雨花區(qū)育新第二小學(xué)春季合同制教師招聘考試參考試題及答案解析
- 中冶交通2026屆校園招聘考試備考試題及答案解析
- 2026年怒江州貢山縣公安局招聘警務(wù)輔助人員(5人)筆試備考題庫(kù)及答案解析
- 2026湖北武漢市華中農(nóng)業(yè)大學(xué)其他專業(yè)技術(shù)人員招聘15人筆試備考題庫(kù)及答案解析
- 壓傷患者的并發(fā)癥護(hù)理與處理
- 智能機(jī)器全景解析
- 2026北京協(xié)和醫(yī)院康復(fù)醫(yī)學(xué)科合同制物理因子治療(理療)技術(shù)員招聘考試備考題庫(kù)及答案解析
- 承包商安全考核實(shí)施細(xì)則
- 房地產(chǎn)登記技術(shù)規(guī)程
- 2026年湖南財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案詳解1套
- 西南名校聯(lián)盟2026屆“3+3+3”高考備考診斷性聯(lián)考(一)英語(yǔ)試卷
- 干旱災(zāi)害課件
- PCOS卵泡微環(huán)境的干細(xì)胞重塑策略
- 保乳術(shù)后放療劑量分割方案優(yōu)化
- 雨課堂學(xué)堂在線學(xué)堂云高等藥理學(xué) 中國(guó)藥科單元測(cè)試考核答案
- 全員生產(chǎn)維護(hù)TPM自主保養(yǎng)
- 2026-2031中國(guó)戶外用品行業(yè)現(xiàn)狀分析及前景預(yù)測(cè)報(bào)告
- 矛盾糾紛調(diào)解課件
評(píng)論
0/150
提交評(píng)論