資源描述:
《匯編語言試題》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、匯編語言模擬試題及答案一,單項(xiàng)選擇題1.指令JMPFARPTRDONE屬于CA.段內(nèi)轉(zhuǎn)移直接尋址B.段內(nèi)轉(zhuǎn)移間接尋址C.段間轉(zhuǎn)移直接尋址D.段間轉(zhuǎn)移間接尋址2.下列敘述正確的是CA.對兩個無符號數(shù)進(jìn)行比較采用CMP指令,對兩個有符號數(shù)比較用CMPS指令B.對兩個無符號數(shù)進(jìn)行比較采用CMPS指令,對兩個有符號數(shù)比較用CMP指令C.對無符號數(shù)條件轉(zhuǎn)移采用JAE/JNB指令,對有符號數(shù)條件轉(zhuǎn)移用JGE/JNL指令D.對無符號數(shù)條件轉(zhuǎn)移采用JGE/JNL指令,對有符號數(shù)條件轉(zhuǎn)移用JAE/JNB指令[解析]對于無符號數(shù)和有符號數(shù)的比較都采用CMP指令;CMPS指
2、令是串比較指令;對兩個無符號數(shù)的條件轉(zhuǎn)移指令應(yīng)是:JAE、JNB、JBE、JNA;對兩個有符號數(shù)的條件轉(zhuǎn)移指令應(yīng)是:JGE、JNL、JLE、JNG。3.一個有128個字的數(shù)據(jù)區(qū),它的起始地址為12ABH:00ABH,請給出這個數(shù)據(jù)區(qū)最末一個字單元的物理地址是CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字與首字相隔(128-1=)127個字,且每個字占用2個字節(jié),因此末字單元的物理地址應(yīng)為:首字單元的物理地址+(128-1)×2即12ABH×10H+00ABH+(128-1)×2=12C59H。4.在下列指令的表示中,不正
3、確的是CA.MOVAL,[BX+SI]B.JMPSHORTDONIC.DEC[BX]D.MULCL[解析]當(dāng)只有一個存儲器操作數(shù)時(shí),這個操作數(shù)的類型不明確,例如選項(xiàng)C中的[BX],沒有明確的說明訪問該存儲單元的類型,此時(shí)存儲器操作數(shù)就必須需用類型說明,如DECBYTEPTR[BX]或DECWORDPTR[BX]但是在題目的選項(xiàng)C中,沒有指出存儲器操作數(shù)類型,所以該指令是不正確的;而其它選項(xiàng)中的指令均是正確的。5.在進(jìn)行二重循環(huán)程序設(shè)計(jì)時(shí),下列描述正確的是AA.外循環(huán)初值應(yīng)置外循環(huán)之外;內(nèi)循環(huán)初值應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)B.外循環(huán)初值應(yīng)置外循環(huán)之內(nèi);內(nèi)
4、循環(huán)初值應(yīng)置內(nèi)循環(huán)之內(nèi)C.內(nèi)、外循環(huán)初值都應(yīng)置外循環(huán)之外D.內(nèi)、外循環(huán)初值都應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)[解析]循環(huán)參數(shù)置初值,應(yīng)在進(jìn)入循環(huán)以前給出。6.條件轉(zhuǎn)移指令JNE的測試條件為AA.ZF=0B.CF=0C.ZF=1D.CF=1[解析]略。7.8086CPU在基址加變址的尋址方式中,變址寄存器可以為DA.BX或CXB.CX或SIC.DX或SID.SI或DI[8.已知BX=2000H,SI=1234H,則指令MOVAX,[BX+SI+2]的源操作在()中。AA.?dāng)?shù)據(jù)段中偏移量為3236H的字節(jié)B.附加段中偏移量為3234H的字節(jié)C.?dāng)?shù)據(jù)段中偏移量為3
5、234H的字節(jié)D.附加段中偏移量為3236H的字節(jié)[解析]指令中的源操作數(shù)的尋址方式是相對基址變址尋址,且由于其中的基址寄存器采用的是BX,所以源操作數(shù)是在數(shù)據(jù)段中,其偏移量為:BX+SI+2=2000H+1234H+2=3236H9.執(zhí)行如下程序:MOVAX,0MOVBX,1MOVCX,100A:ADDAX,BXINCBXLOOPAHLT執(zhí)行后(BX)=CA.99B.100C.101D.102[解析]1)在進(jìn)入循環(huán)之前,有三條指令分別初始化寄存器:AX為0、BX為1、CX為100;2)由于循環(huán)的控制部分采用的是LOOP指令,該指令有使CX減1,并判斷
6、其是否為0的功能,所以可知該循環(huán)的執(zhí)行次數(shù)為100次;3)循環(huán)體的主要功能是每次循環(huán)使AX中的內(nèi)容累加BX的內(nèi)容,并使BX的內(nèi)容加1。4)直到最后一次(即第100次)循環(huán)時(shí),加到AX中的BX的內(nèi)容為100,且使BX加1,即變?yōu)?01后退出循環(huán)體。所以當(dāng)執(zhí)行完該段程序后,BX的內(nèi)容為101。5)該段程序的功能是(AX)=1+2+……+100=505010.上題的程序執(zhí)行后(AX)=BA.5000B.5050C.5100D.5150[解析]請參看上題中的分析。正確答案:B。11.對于下列程序段:AGAIN:MOVAL,[SI]MOVES:[DI],ALIN
7、CSIINCDILOOPAGAIN也可用______指令完成同樣的功能。AA.REPMOVSBB.REPLODSBC.REPSTOSBD.REPESCASB[解析]該段程序的功能是將SI所指向的數(shù)據(jù)段中的數(shù)據(jù)順序傳送給DI所指向的附加段的一段數(shù)據(jù)區(qū)中,并且每次傳送一個字節(jié),即實(shí)現(xiàn)了字節(jié)串傳送的功能,所以也可以使用REPMOVSB指令來完成同樣的功能。12.下面指令序列執(zhí)行后完成的運(yùn)算,正確的算術(shù)表達(dá)式應(yīng)是MOVAL,BYTEPTRXSHLAL,1DECALMOVBYTEPTRY,ALDA.y=x2+1B.x=y2+1C.x=y2-1D.y=x2-1[解
8、析]該段程序的第一條指令的功能是將X傳送給AL;第二條指令的功能是將AL的內(nèi)容左移1位,即使得