2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案_第1頁
2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案_第2頁
2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案_第3頁
2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案_第4頁
2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2025年學(xué)堂匯編語言程序設(shè)計章節(jié)測試答案一、選擇題(每題3分,共15分)1.8086CPU中,可用于寄存器間接尋址的通用寄存器是()A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,CS,DSD.AL,AH,BL,BH答案:B。解析:8086中寄存器間接尋址僅支持BX、BP、SI、DI,其中BX、SI、DI默認(rèn)使用DS段,BP默認(rèn)使用SS段。2.以下指令中合法的是()A.MOV[BX],[SI]B.MOVCS,AXC.MOVAL,1000HD.MOVAX,[BX+DI]答案:D。解析:內(nèi)存單元間不能直接傳送(A錯誤);CS不能作為目標(biāo)操作數(shù)(B錯誤);1000H超過AL的8位范圍(C錯誤);基址變址尋址(BX+DI)合法(D正確)。3.執(zhí)行XORAX,AX后,標(biāo)志位ZF和CF的狀態(tài)是()A.ZF=0,CF=0B.ZF=1,CF=0C.ZF=0,CF=1D.ZF=1,CF=1答案:B。解析:XOR指令將AX清零,結(jié)果為0則ZF=1;邏輯運(yùn)算不影響CF,默認(rèn)CF=0。4.若SS=2000H,SP=0100H,執(zhí)行PUSHAX后,SP的值為()A.00FEHB.0102HC.00FFHD.00FDH答案:A。解析:PUSH操作SP減2,0100H-2=00FEH。5.段內(nèi)轉(zhuǎn)移指令JMPSHORTLABEL的轉(zhuǎn)移范圍是()A.-128~+127B.-32768~+32767C.0~65535D.任意地址答案:A。解析:SHORT為短轉(zhuǎn)移,偏移量8位,范圍-128~+127。二、填空題(每空2分,共20分)1.8086CPU中,用于存放當(dāng)前指令偏移地址的寄存器是______,用于保存棧頂偏移地址的寄存器是______。答案:IP,SP2.執(zhí)行CMPAL,BL后,若AL<BL(無符號數(shù)),則標(biāo)志位CF=______;若AL<BL(有符號數(shù)),則OF和SF的關(guān)系為______。答案:1,OF≠SF(有符號數(shù)比較時,若OF和SF不同則結(jié)果為負(fù))3.指令MOVAX,[BX+10H]的尋址方式是______,默認(rèn)使用的段寄存器是______。答案:寄存器相對尋址,DS4.中斷服務(wù)程序的入口地址由中斷向量表提供,8086中中斷向量表位于內(nèi)存的______區(qū)域,每個中斷向量占______字節(jié)。答案:00000H~003FFH(前1KB),4三、程序分析題(每題10分,共30分)1.分析以下程序段,寫出執(zhí)行后AX、BX的值及標(biāo)志位ZF、CF的狀態(tài)。```asmMOVAX,0FFFEHMOVBX,2ADDAX,BXDECBX```解答:初始AX=0FFFEH(-2),BX=2。ADDAX,BX后,AX=0FFFEH+2=10000H(溢出16位,實際AX=0000H),CF=1(有進(jìn)位);DECBX后BX=1。最終AX=0000H(ZF=1),BX=1,CF=1。2.分析以下循環(huán)程序,說明其功能并計算執(zhí)行后AX的值。```asmMOVCX,5MOVAX,0MOVBX,1LOOP1:ADDAX,BXSHLBX,1LOOPLOOP1```解答:功能是計算1+2+4+8+16的和(BX初始為1,每次左移1位即乘以2)。循環(huán)執(zhí)行5次:第1次:AX=1,BX=2,CX=4;第2次:AX=3,BX=4,CX=3;第3次:AX=7,BX=8,CX=2;第4次:AX=15,BX=16,CX=1;第5次:AX=31,BX=32,CX=0。最終AX=31。3.閱讀以下子程序,說明其功能并分析調(diào)用后DX的結(jié)果(假設(shè)調(diào)用前AX=0B523H)。```asmSUB_PROCPROCPUSHCXPUSHBXMOVCX,16MOVBX,0COUNT:ROLAX,1JNCNEXTINCBXNEXT:LOOPCOUNTMOVDX,BXPOPBXPOPCXRETSUB_PROCENDP```解答:功能是統(tǒng)計AX中二進(jìn)制位為1的個數(shù)。AX=0B523H=1011010100100011B,其中1的個數(shù)為8。調(diào)用后DX=8(每ROL一次將最高位移入CF,JNC判斷CF是否為0,若為1則BX加1,循環(huán)16次統(tǒng)計所有位)。四、編程題(第1題20分,第2題25分,共45分)1.編寫8086匯編程序,從鍵盤輸入一個兩位十進(jìn)制數(shù)(00~99),轉(zhuǎn)換為對應(yīng)的二進(jìn)制數(shù)存入AL寄存器(要求處理輸入錯誤,如非數(shù)字字符或超過99的情況)。```asm.MODELSMALL.STACK100H.DATAPROMPTDB'ENTERATWO-DIGITNUMBER(00-99):$'ERRORDB0AH,0DH,'INVALIDINPUT!$'NUMDB?.CODEMOVAX,@DATAMOVDS,AX;顯示提示LEADX,PROMPTMOVAH,09HINT21H;讀取十位MOVAH,01HINT21HCMPAL,'0'JBINPUT_ERRCMPAL,'9'JAINPUT_ERRSUBAL,30HMOVBH,AL;十位暫存BH;讀取個位MOVAH,01HINT21HCMPAL,'0'JBINPUT_ERRCMPAL,'9'JAINPUT_ERRSUBAL,30HMOVBL,AL;個位暫存BL;轉(zhuǎn)換為二進(jìn)制:十位10+個位MOVAL,BHMOVAH,0MOVCL,10MULCL;AX=十位10ADDAL,BL;AL=十位10+個位(結(jié)果≤99,無溢出)JNCVALIDJMPINPUT_ERRVALID:MOVNUM,AL;結(jié)果存入NUMJMPEXITINPUT_ERR:LEADX,ERRORMOVAH,09HINT21HEXIT:MOVAH,4CHINT21HEND```解析:程序通過DOS01H功能讀取兩個字符,先校驗是否為數(shù)字字符('0'-'9'),再將十位轉(zhuǎn)換為數(shù)值后乘以10,加上個位數(shù)值得到二進(jìn)制數(shù)。若輸入非數(shù)字或計算溢出(如十位為9、個位為9時910+9=99,無溢出),則顯示錯誤信息。2.編寫匯編程序,對內(nèi)存中定義的10個無符號字?jǐn)?shù)組(ARRAY)進(jìn)行降序排序,要求使用選擇排序算法,并將排序結(jié)果通過DOS功能調(diào)用顯示(每個數(shù)后加空格)。```asm.MODELSMALL.STACK100H.DATAARRAYDW1234H,0F5H,789H,3456H,22H,0ABCDH,99H,1111H,4321H,55HLENEQU($ARRAY)/2SPACEDB'$'.CODEMOVAX,@DATAMOVDS,AXMOVES,AX;選擇排序(降序)MOVCX,LEN-1OUT_LOOP:MOVSI,CX;記錄當(dāng)前輪最大索引MOVBX,0;內(nèi)層循環(huán)索引從0開始IN_LOOP:MOVAX,ARRAY[BX]CMPAX,ARRAY[SI]JGUPDATE_MAX;若當(dāng)前數(shù)>記錄的最大值,更新索引JMPNEXTUPDATE_MAX:MOVSI,BX;保存更大值的索引NEXT:ADDBX,2;字?jǐn)?shù)組,步長2LOOPIN_LOOP;交換當(dāng)前輪首元素與最大值MOVAX,ARRAY[CX2];注意:CX為外層循環(huán)變量(從LEN-1到1),對應(yīng)索引為2(LEN-1-CX)XCHGAX,ARRAY[SI]MOVARRAY[CX2],AXLOOPOUT_LOOP;顯示排序結(jié)果MOVCX,LENMOVBX,0DISP_LOOP:MOVDX,ARRAY[BX]CALLDISP_WORD;調(diào)用顯示字子程序LEADX,SPACEMOVAH,09HINT21HADDBX,2LOOPDISP_LOOPMOVAH,4CHINT21H;子程序:顯示16位無符號數(shù)的十六進(jìn)制形式DISP_WORDPROCPUSHAXPUSHCXPUSHDXMOVCX,4DISP_DIGIT:ROLDX,4;循環(huán)左移4位,取最高4位MOVAL,DLANDAL,0FH;得到0-0FHCMPAL,10JBNUM_CHARADDAL,7;A-F轉(zhuǎn)換NUM_CHAR:ADDAL,30H;0-9轉(zhuǎn)換MOVDL,ALMOVAH,02HINT21H

溫馨提示

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

最新文檔

評論

0/150

提交評論