微機原理試題及答案_第1頁
微機原理試題及答案_第2頁
微機原理試題及答案_第3頁
微機原理試題及答案_第4頁
微機原理試題及答案_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、選擇題(20分,在每小題的4個備選答案中選出一個正確的答案編號填寫在該題空白處,每題2分)指令MOVDX,[BX]的尋址方式是。(A)立即尋址 (B)直接尋址 (C)寄存器尋址(D)寄存器間接尋址若AL的內容為3FH,執行SHLAL,1指令后,AL的內容為。(A)7EH (B)1FH (C)9FH (D)7FH解析:shlal,1即目的操作數各位左移一次,移動一次,相當于將目的操作數乘以2。3fh=6363*2=126126=7eh故選A屬于在工作中需定時刷新的存儲器的芯片是。(A)SRAM (B)DRAM (C)EEPROM (D)EPROM某EPROM芯片上有19條地址線A。?*8,它的容量為 。(A)128K (B)256K 0 (8C)512K (D)1024K8086/8088CPU的SP寄存器是多少位的寄存器。(A)8位 (B)16位 (C)24位 (D)32位在STOSB指令執行的時候,隱含著寄存器的內容作為操作數的偏移地址,該寄存器是 D 。(A)SP (B)BX (C)SI (D)DI解析:stos數據串存儲指令功能:將累加器al或ah中的一個字或字節,傳送到附加段中以di為目標指針的目的串中,同時修改di,以指向串中的下一個單元。8255工作在方式0時,下面哪種說法不正確C。(A)A口輸入無鎖存能力 (B)A、B口輸出有鎖存能力(C)C口輸入有鎖存能力 (D)A、B、C三個口輸出均有鎖存能力解析:對于方式0,規定輸出信號可以被鎖存,輸入不能鎖存采用DMA方式來實現輸入輸出是因為它 A。(A)速度最快 (B)CPU可不參與操作 (C)實現起來比較容易 (D)能對突發事件做出實時響應工作在最小模式下,8086/8088CPU芯片中,將地址信號鎖存的信號是C。(A)DT/R (B)DEN (C)ALE (D)AEN在LOOP指令執行的時候,隱含著對計數器減1的操作,該計數器是用寄存器C。(A)AX (B)BX (C)CX (D)DX解析:loop:循環指令。 指令執行前必須事先見重復次數放在cx寄存器中,每執行一次loop指令,cx自動減1。二、填空題(每小題2分,共10分)兩個無符號數相等,該兩數相減后ZF標志=。解析:zf:全零標志位。本次運算結果為0時,zf=1,否則zf=0。執行LODSB后,SI的內容較該指令執行前增加1,說明DFDMA控制器8237共有個相互獨立的DMA通道。8086/8088斷點中斷的向量碼是 。利用8253產生對稱的方波,應用其工作方式。解析:8253的工作方式3為方波發生器。三、 判斷題(認為正確的在題后打“"”號,錯誤的打“X”號。并寫出正確的內容,每題2分,共10分)8086/8088CPU復位啟動地址為0FFFFH。+128的16位補碼是1111111100000000B反碼是1111111011111111。程序段開始執行之前,(CS)=97F0H,(IP)=1B40H,該程序段啟動執行指令的實際地址是99A40H。異步串行通信在傳送每一個數據時,傳送出的第一位一定是一個低電平的傳送位。8086/8088CPU響應中斷時,CPU的硬件只保護CS和IP,其余內部寄存器應由程序員編程保護。四、 簡單回答題(每小題4分,共16分)說明8086/8088CPU如何判別兩個無符號數的大小。8250芯片上有3條地址線A0?A2,試問該芯片占用多少個接口地址?試敘述REPMOVSB的執行過程。動態存儲器DRAM最重要的一個特點一動態的含義是什么?五、 程序閱讀題(每小題5分,共20分)DATASEGMENTAREA1DB100DUP(11H)AREA2DB100DUP(22H)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATAMAINPROCFARSTART:PUSHDXXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES.AXCLDMOVSI,OFFSETAREA1MOVDI,OFFSETAREA2MOVCX,100REPMOVSBRETMAINENDPCODEENDSENDSTART指出上述程序指令執行后,AREA1、AREA2兩個數據塊的內容。下述程序段執行后,寄存器CX,SI的內容是多少?ARRYDW20HDUP(5)11IXORAX,AX

MOVMOVMOVMOVSI,SIZEARRY-TYPEARRY3.MOVDATAMACROMOVMOV3.MOVDATAMACROMOVMOVMOVREPENDMCX,CNMOVSDN,SN敘述上述宏指令的的功能4.已知數據段DATA的段地址從40000H開始,分析偽指令后面的各種傳送指令執行后各寄存器的內容。DATASEGMENTV1 DB 2AH,3FHV2 DW 2A3FH,3040HV3 DW 20DUP(?)DATA ENDS1) MOVAX,SEGV1MOVBX,SEGV32) MOVAX,OFFSETV13) MOVCX,TYPEV34) MOVAH,LENGTHV2六、編寫程序題(24分)試編寫一程序,把X和Y中的小者存于LIT單元,若X=Y,則把其中之一存入LIT單元。(7分)試編寫一個程序段,能完成下列數學表達式的功能。X為字節變量。(7分)(XM—2)(-2<X<2)(X>2)已知下面數據段中數據緩存區AREA可容納1000H個字節變量,其中0?7FFH單元已經有數據,試編寫一段程序,把AREA中0?7FFH單元的數據順序傳送到AREA緩存區中的200H?09FFH單元中。(10分)DATASEGMENTAREADB1000HDUP(?)DATAENDS參考答案一、 (20分,每小題2分)1、D;2、A;3、B;4、C;5、B;6、D;7、C;8、A;9、C;10、C。二、 (10分,每小題2分)1、1; 2、0; 3、4; 4、03H; 5、3。三、 (10分,每小題2分)1、X,應為0FFFF0H;2、X,應全為0000000100000000B;3、"; 4、";5、X,應為F、CS和IP四、 (16分,每小題4分)1、 將這兩個無符號數相減(或比較),若CF=0,則說明被減數大二減數小。若CF=1,則說明減數大而被減數小。若ZF=1,二者相等。2、 3條地址線有23=8種編碼,.?.8250最多占有8個接口地址。3、 將DS:[SI]所決定的內存一個字節傳送到ES:[DI]所決定的內存單元中,同時根據DF是0還是1,決定分別對SI、DI+1或一1。然后CX減1,若(CX)=0退出REP,否則重復傳送操作,循環至(CX)=0為止。4、 其含義就是要對動態存儲器定時進行刷新。五、 (20分,每小題5分)1、 AREA1、AREA2兩個數據塊內容各100(共200)個字節全變為11H。2、 (CX)=20H;(SI)=40H—2=3EH。3、 清零DF后,執行本宏指令實現以SN為首址的源數據塊,到以DN為首址的目的數據塊的數據傳送,傳送的數據塊長度為CN。4、(AX)=4000H;(BX)=4000H(AX)=0(CX)=2(AH)=1六、 (24分)1、(7分)解:DATASEGMENTXDW?YDW?LITDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVAX,XCMPAX,YJCSTOLIT;無符號數判斷,有符號數用JLEMOVAX,YSTOLIT:MOVLIT,AXRETSTARTENDPCODEENDS

解:DATASEGMENTXDB-3DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVAL,XCMPAL,2JGESETX2CMPAL,-2JLESETX_2MOVAL,04JMPSTOXSETX2:MOVAL,2JMPSTOXSETX_2:MOVAL,-2STOX:MOVX,ALRETSTARTENDPCODEENDSENDSTARTENDSTART2、(7分)3、(10分)解:DATASEGMENTAREADB1000HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVMOVSTDMOVMOVDS,AXES,AXSI,OFFSETAREA+7FFHDI,OFFSETAREA+9FFHMOVCX,800HREPMOVSBRETSTARTENDPCODEENDSENDSTART一、選擇題(20分,在每小題的4個備選答案中選出一個正確的答案編號填寫在該題空白處,每題2分)指令ADDAL,5FH的尋址方式是。(A)寄存器,寄存器尋址(B)寄存器,立即數尋址 (C)存儲器,寄存器尋址 (D)寄存器,存儲器尋址對AL寄存器的內容進行清零操作的為。(A)INCAL(B)ANDAL,0 (C)NOTAL (D)XORAL,0屬于光可擦除可編程的存儲器的芯片是。(A)SRAM (B)DRAM (C)EEPROM (D)EPROM某RAM芯片上有10條地址線A。?%,它的容量為 。(A)128K (B)1K0 (C)512 (D)1024K8086/8088CPU的SP寄存器是多少位的寄存器。(A)8位 (B)16位 (C)24位 (D)32位在STOSB指令執行的時候,隱含著寄存器的內容作為操作數的偏移地址,該寄存器是。(A)SP (B)BX (C)SI (D)DI8255工作在方式1時,下面哪種說法不正確。(A)A口輸入有鎖存能力 (B)A、B口輸出有鎖存能力(C)B口輸入有鎖存能力 (D)B口輸入無鎖存能力8086/8088CPU芯片的地址線為。(A)16條 (B)20條(C)8條(D)24條在DEBUG命令中,顯示DS:0000內容的命令為。(A) D DS: 0000 (B) E DS: 0000(C)G DS: 0000 (D)TDS:0000在LOOP指令執行的時候,隱含著對計數器減1的操作,該計數器是用寄存w右器。(A)AX (B)BX (C)CX (D)DX二、填空題(每小題2分,共10分)AX與BX中數值相等,CMPAX,BX指令執行后ZF標志=。執行LODSW后,SI的內容較該指令執行前增加2,說明DF8253共占用個端口地址。8086/8088溢出中斷的向量碼是。你所知道的可用于異步串行通彳 。三、 判斷題(認為正確的在題后打“"”號,錯誤的打“X”號。并寫出正確的內容,每題2分,共10分)8086/8088CPU的內存地址不能作接口地址使用。十進制數50轉換成二進制數是01010000B。利用XOR指令可以使AX寄存器清零。邏輯地址為97F0H:1B40H的物理實際地址是99A40H。01111110B的反碼是10000001B。四、 簡單回答題(每小題4分,共16分)說明如何把由A1.ASM,A2.ASM,A3.ASM三個模塊組成的匯編語言源程序,轉換成與之對應的一個“*.OBJ”文件,再進一步轉換成“*.EXE”文件。動態存儲器DRAM最重要的一個特點一動態的含義是什么?簡單敘述異步串行通信的數據格式(可畫圖表示)試敘述串搜索指令REPNZSCASB的執行過程。五、 程序閱讀題(每小題5分,共20分)DATASEGMENTSUMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:PUSHDXXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVAL,35H;1)此時AL中內容?ADDAL,45H;2)此時AL中內容?DAA;3)此時AL中內容?MOVSUM,ALRETMAINENDPCODEENDSENDSTART指出上述程序指令執行后,SUM字節單元的內容。設BX指向數據段X1字節內存單元,X2是X1后續字節單元,BIG也是一個節數單元。;1)此時AL中內容?MOVAL,[BX]INCBX;2)此時BX指向何字節單元?CMPAL,[BX]JAEBIGEREXCH:MOVAL,[BX];3)如執行到此時,X1與X2那個大?

BIGER:MOVBIG,AL;上述程序執行后BIG中是什么數?已知數據段DATA的段地址從10000H開始,分析偽指令后面的各種傳送指令執行后各寄存器的內容。DATASEGMENTV1 DW 2A3FH,3F40HV2 DB 2AH,30HV3 DW 4DUP(?)DATA ENDSMOVAX,SEGV1MOVBX,SEGV3LEAAX,V1MOVCX,TYPEV3MOVAH,SIZEV2下述程序執行后DI,SI的內容是多少?DATASEGMENTX0 DB 20HDUP(?)X1 DB 20HDUP(?)DATAENDSMOVLEAMOVLEASI,OFFSETX0DI,X1六、編寫程序題(24分)1試編寫一程序,完成1+2+3+?+100的運算,運算結果存儲在SUM字內存單元。(7分)2試編寫一個程序,其功能是將一個字數組ARRAY中的正數分離出來存儲在PLUS開始的單元中。(10分)3已知下面數據段DATASEGMENTAREA0DB1000HDUP(?)AREA1DB1000HDUP(?)DATAENDS編寫程序,把AREA0中字節單元清零,把AREA1中的字節單元設置成34H。(7分)參考答案一、 (20分,每小題2分)1、B;2、B;3、D;4、B;5、B;6、D;7、D;8、B;9、A;10、C。二、 (10分,每小題2分)1、1; 2、0; 3、4; 4、04H; 5、8250。三、 (10分,每小題2分)1、X,應為可以;2、X,應全為00110010B;3、";4、";5、X,與原碼相同

四、(16分,每小題4分)1、 先用MASM對三個源文件分別匯編,形成A1.OBJ,A2.OBJ和A3.OBJ然后運行LINK命令,并對(*.OBJ)文件一欄鍵入A1.OBJ+A2.OBJ+A3.OBJ,生成一個*.EXE文件。2、 其含義就是要對動態存儲器定時進行刷新。3、 | 第n個字符 1 I—第n+1字符 1 | 1I 1|1|0|1/0|1/0|1/0|1/0|1/0|1/0|1/0|1/0| 1 1 1 1 |0|1/0|1/0空閑位起始信息位 校驗停止空閑 起始信息位4、將ES:[DI]所決定的內存一個字節與AL中的內容比較,同時根據DF是0還是1,決定分別對DI+1或一1。然后CX減1,若(CX)=0或ZF=1結束循環,否則重復傳送搜索,循環至(CX)=0為止。五、(20分,每小題5分)1、 1)35H,2)7AH,3)80H;只要答對SUM中為80H滿分。結果不對1)、2)、3)每步可得1分2、 1)X1,2)X2處,3)X2大,只要答對SUM中存儲X1與X2中較大的數值即可滿分。結果不對1)、2)、3)每步可得1分3、(AX)=1000H;(BX)=1000H(AX)=0(CX)=2(AH)=14、 (SI)=0,(DI)=20HDATASEGMENTDATASEGMENT六、(24分)1、(7分)解:DATASEGMENTSUM DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVCX,100AGAIN:ADDAX,CXLOOPAGAINMOVAH,4CHINT21HCODEENDSENDSTART2、(10分)解:

ARRAYDW8DUP(1FH,-12)COUNTEQU$-ARRAYPLUSDW8DUP(?,?)DATAENDS,CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATAMAINPROCFARSTART:PUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVES,AX,MOVSI,OFFSETARRAYMOVDI,OFFSETPLUSMOVCX,COUNTAGAIN:LODSWTESTAX,8000HJNZTENDSPLS:STOSWTENDS:LOOPAGAINRETMAIN ENDPCODE ENDSENDSTART3、(7分)DATASEGMENTAREA0DB1000HDUP(?)AREA1DB1000HDUP(?)DATAENDS解:CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATAMAINPROCFARSTART:PUSHDSXORAX,AXPUSHAXMOVDS,AXMOVES,AX,MOV DI,OFFSETARRAY0MOVCX,1000HMOVAL,0AGAIN:|STOSBLOOPAGAINMOVAL,34HMOVCX,1000HAGAIN1:STOSBLOOPAGAIN1RETMAINENDPCODEENDSENDSTART一、選擇題(本題共10小題,每小題2分,共20分)字符“A”的ASCII代碼是。(A)31H (B)0DH(C)20H (D)41H對AX寄存器內容進行減1操作的指令為。(A)DEC AX(B)ORAX,0 (C)XORAX,AX (D)NOTAX靜態存儲器芯片符號是。(A)SRAM (B) DRAM (C)EEPROM (D) EPROM某RAM芯片上有10條地址線A。?%,它的容量為。(A)128K (B)1024K (C) 1024 (D)5128086/8088CPU的DS寄存器是多少位的寄存器。(A)16位 (B)8位(C)24位 (D)32位在DEBUG命令中,顯示DS:0000內容的命令為。(A)DDS:0000(B)EDS:0000(C)GDS:0000 (D)TDS:0000關于8255工作方式,下面哪種說法不正確。(A)A、B口均可在方式0方式下工作 (B)A、B口均可在方式1方式下工作(C)只有A口可在方式2方式下工作(D)A、B口均可在方式2方式下工作在DEBUG環境中,FLAGS中的狀態標志CF為1時用符號表示。(A)NC(B)ZR (C)CY (D)PO指令MOVAL,5FH的尋址方式是。(A)寄存器,立即數尋址 (B)寄存器,寄存器尋址(C)存儲器,立即數尋址 (D)寄存器,存儲器尋址在LOOP指令執行的時候,隱含著對計數器減1的操作,該計數器使用寄存w1器。(A)AX (B)BX (C)CX (D)DX二、填空(本題共5小題,每小題2分,共10分)1、AX中數值為8000HBX中數值為8001H,SUBAX,BX指令執行后CF標志2、執行LODSB后,SI的內容較該指令執行前增加1,說明DF3、 8255共占用個端口地址。4、8086/8088NMI的中斷類型號是。5、你所知道的可編程定時器/計數器芯片是。三、判斷題(認為正確的在題后打“J”號,錯誤的打“X”號。并寫出正確的內容,每題2分,共10分)8086/8088CPU的內存地址能作接口地址使用。十進制數40轉換成二進制數是01000000B。利用CMP類指令可以使AX寄存器清零。動態存儲器DRAM最重要的一個特點一動態的含義是不需要刷新 。01111111B的反碼是10000000B。四、 簡單回答題(每小題3分,共12分)說明如何把由A.ASM,B.ASM二個模塊組成的匯編語言源程序,轉換成與之對應的一個“*.OBJ”文件,再進一步轉換成“C.EXE”文件。邏輯地址為97F0H:1B40H的物理實際地址是是什么?簡單敘述異步串行通信的數據格式(可畫圖表示)試敘述串搜索指令REPZSCASB的執行過程。五、 指令、程序閱讀題(共20分)已知8086中一些寄存器的內容和一些存儲單元的內容如圖五一1所示,試指出下列每條指令執行后,AX中的內容(即(AX)=?)。 (8分)(1) MOVAX,2010H

MOVAX,BXMOVAX,[1200H]MOVAX,[BX]MOVAX,[BX+1100H]MOVAX,[BX+SI+1000H]MOVAX,SILODSWCPUBX0100HSI0102HDSCPUBX0100HSI0102HDS1 ,,4000H40100H41200H圖五一1已知存儲器數據段中的數據如圖五一2所示。下列程序段的運行結果是什么?(6分)MOV AX,NUM1;AX=ADD AX,NUM2;AX=MOV SUM,AX;SUM=MOV AX,NUM1+2;AX=ADC AX,NUM2+2;AX=MOV SUM+2,AX;[SUM+2]=有如下程序段,分析“{”所括指令執行后,指令中對應寄存器內容。(6分)

DATASEGMENTNUM1DW0004HNUM2DW5678HNUM3DW78A5HCOUNTEQU$-NUM1DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCMOVAX,DATAMOVDS,AX廠MOVBX,NUM1;BX=LEASI,NUM1;SI=YMOVAX,NUM2;AX=]MOVDX,OFFSETNUM2;DX=MOVCX,COUNT;CX=JmovAX,[BX];AX=MAINENDPCODEENDS六、編寫程序題(28分)1.試編寫程序,完成運算Y=A+B—C。(8分)DATASEGMENTADW2450HBDW5421HCDW1120HYDW?DATAENDS2.試編寫一個程序段,能完成下列數學表達式的功能。X、Y為無符號字節變

量。(量。(9分)46(X>45)0(X=45)44(X<45)DATASEGMENTDATASEGMENTDB68HDBDBDATAENDS3.試編寫一程序計算求級數12+32+52+……的前幾項和剛大于600的項數(11分)參考答案一、 (20分,每小題2分)1、D;2、A;3、A;4、C;5、A;6、A;7、D;8、C;9、A;10、C。二、 (10分,每小題2分)1、1; 2、0; 3、4; 4、2; 5、8253。三

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論