匯編語言試卷1_第1頁
匯編語言試卷1_第2頁
匯編語言試卷1_第3頁
匯編語言試卷1_第4頁
匯編語言試卷1_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

匯編語言試卷TOC\o"1-5"\h\z一、 單項(xiàng)選擇(本大題共15小題,每小題2分,共30分)1.在下列段寄存器,代碼段寄存器是( )。A)ES B)CSC)DS D)SS2.設(shè)物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,如從地址10FF1H中取出一個字的內(nèi)容是( )。1020H B)3020H C)2030H D) 2010H3.完成將累加器AL清零,并使進(jìn)位標(biāo)志CF清零,下面錯誤的指令是()。A)MOVAL,00HB)ANDAL,00H C)XORAL,AL D)SUBAL,AL4.設(shè)DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作數(shù)的物理地址是()。A)12169H B)86192H C)BB690H D)85B92H5.下列寄存器組中在段內(nèi)尋址時可以提供偏移地址的寄存器組是()。A)AX,BX,CX,DX B)BX,BP,SI,DIC)SP,IP,BP,DX D)CS,DS,ES,SS6.對寄存器AX的內(nèi)容乘以4的正確指令序列是 ()。A)SHRAX,1SHRAX,1 B)SHLAX,1SHLAX,1C)ROLAX,1ROLAX,1 D)RCRAX,1RCRAX,17?下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是()。A)TESTAL,02HB)ORAL,ALC)CMPAL,BLD)ANDAL,BL8.執(zhí)行下面指令序列后,結(jié)果是()。MOVAL,82H CBWA)AX=0FF82HB)AX=8082HC)AX=0082HD)AX=0F82H

9.MOVSP,3210HPUSHAX執(zhí)彳丁上述指令序列后,SP寄存器的值是()。A)3211H320EHA)3211H320EH320FH3212H10.匯編語言源程序中,10.匯編語言源程序中,每個語句由四項(xiàng)組成,如語句要完成一定功能,那么該語句中不可省略的項(xiàng)是()。A)名字項(xiàng)BA)名字項(xiàng)B)操作項(xiàng)C)操作數(shù)項(xiàng)D)注釋11.11.DECBYTEPTR[BX]指令中的操作數(shù)的數(shù)據(jù)類型是()。A)字B)雙字C)字節(jié)D)四字12.下列四條指令中錯誤的是()。A)MOVAX,[SIA)字B)雙字C)字節(jié)D)四字12.下列四條指令中錯誤的是()。A)MOVAX,[SI]B)MOVAX,DI]C)MOVAX,[SI+DI]D)MOVAX,BX+DI]13.在執(zhí)彳子程序段內(nèi)調(diào)用CALLSUBR指令后,SP的值()。A)加1B)減1C)加2D)減2)。14.為了使執(zhí)彳串操作指令時,地址按減量方式處理應(yīng)使用指令)。A)CLIB)STIC)CLDA)CLIB)STIC)CLDD)STD15.有數(shù)據(jù)定義NUMDB'12345',經(jīng)匯編后,NUM占有()字節(jié)存儲單元A)1BA)1B)5C)6D)二、 簡答題(本題共3小題,每小題5分,共15分)完成下列操作,選用什么指令:(1)將AX的內(nèi)容,減去0520H,和上次運(yùn)算的借位;(2)將變量名TABL的段地址送AX:在指令系統(tǒng)中,段內(nèi)、段間返回均為RET指令。試回答:執(zhí)行段內(nèi)返回RET指令時,執(zhí)行的操作是:執(zhí)行段間返回RET指令時,執(zhí)行的操作是:3.分別指出下列指令中源操作數(shù)的尋址方式:A)MOVSI,100B)MOVCX,DATA[SI]C)MOV[SI],AXD)ADDAX,[BX][DI]E)POPHF三、 程序分析題(共5小題,每小題6分,共30分)1.ADW1234HBDW5678HPUSHAPUSHBPOPAPOPB試回答:上述程序段執(zhí)行后(A)= ;(B)= 設(shè)執(zhí)行前SP=200H,執(zhí)行后SP= 。2.分析下面程序段,MOVAL,200SARAL,1MOVBL,ALMOVCL,2SARAL,CLADDAL,BL試問程序段執(zhí)行后(BL)= ;(AL)= 3?設(shè)寄存器AL,BL,CL中內(nèi)容均為76H,XORAL,0FHANDBL,0FHORCL,0FH執(zhí)行上述指令序列后,AL= ;BL=_;CL= o4.STARTDW10H,20H,30H,40H,50HEE1DW3MOVBX,OFFSETSTARTADDBX,EE1MOVAX,[BX]執(zhí)行上述指令序列后,AX= 5.現(xiàn)有程序段如下:MOVCX,63HMOVAX,1MOVBX,2ADDAX,BXINCBXLOOPDONHLT

請問:1)該程序完成的功能是什么2)程序執(zhí)行后AX= 。四、 編制程序(段)題(第1、2小題各6分,第3小題13分,共25分)編一程序段將BUF字節(jié)單元中的數(shù)折成高低四位,并且將分離出的高四位和低四位分別放于BUF+1和BUF+2字節(jié)單元的低四位上。編一程序段完成AX=1+2+3+???+98+99+100在BUF1和BUF2兩個數(shù)據(jù)區(qū)中,各定義有10個帶符號字?jǐn)?shù)據(jù),試編制一完整的源程序,求它們對應(yīng)項(xiàng)的絕對值之和,并將和數(shù)存入以SUM為首址的數(shù)據(jù)區(qū)中。DATASEGMENTBUF1DW-56BUF1DW-56,24,54,-1,89,-8BUF2DW45,-23,124,345,-265,SUMDW10DUP(0)DATAENDS一、 單項(xiàng)選擇題(每小題1分,共20分)1?如某存儲器一個段最多允許16K個字單元,那么表示一個段內(nèi)偏移地址的二進(jìn)制位數(shù)至少是()位。A)15 BA)15 B)16下列操作中允許超越的是(A)取指令 B)存目的串下面有語法錯誤的指令語句是(C)17 D)18)。C)以BP為基址存取操作數(shù))。D)堆棧操作A)MOVAX,[BX][SI]BA)MOVAX,[BX][SI]B)MOVAX,-2[BX][DI]C)MOVAX,[BX][BP]D)MOVAX,-1[BX][SI]4?下列指令執(zhí)行后能使BX中數(shù)據(jù)為奇數(shù)的是( )A)XORBX, 01HB)ORBX, 01HC)ANDAX, 01H設(shè)CL=05H,要獲得CL=OAH,可選用的指令是( )。A)XORCL,0FH B)NOT CL C)ORCL,0AH沒有語法錯誤的輸出指令是( )。A)OUTAX, 30H B)OUTDX,AL C)OUTAL,DXD)TESTBX, 01HD)ANDCL, 0FHD)OUT30H,AH7.假設(shè)執(zhí)行ADD指令后AX=6EH,再執(zhí)行AAA指令,AX中的值是( )。A)A)14H B)0104H C)74HD)04H某數(shù)據(jù)段有如下語句:ORG0435HDA1DB 17H,44H,77HADRDWDA1下述語句能使AL中的數(shù)據(jù)為偶數(shù)的是( )。

9.當(dāng)執(zhí)行條件轉(zhuǎn)移指令JNSOPR時,如條件成立,相對于轉(zhuǎn)移指令的轉(zhuǎn)移距離是()。A)—128?+127個字節(jié) B)—126?+127個字節(jié)C)—128?+129個字節(jié) D)—126?+129個字節(jié)10.用MOV指令將十進(jìn)制數(shù)89以非壓縮BCD碼格式送入AX,可使用的指令是( )A)MOVAX,11. VAR1VAR289EQUDW1B)MOVAX, 0809BYTEPTRVAR20ABCDHC)MOVAX,89H D)MOVAX, 0809HSHL11VAR1,1SHRVAR2,1上述兩條指令執(zhí)行后,VAR2字單元內(nèi)容是()。A)0ABCDHB)0AB9AH C)55CDHD)559AHMOVAX,WORTPTRDA1MOV AXMOVAX,WORTPTRDA1MOV AX,WORDPTRDA1[1]C)MOVAX,ADRD)MOV AX,BYTEPTRADR12.設(shè)AX=0BBCCH,CF=1ORAX,3CMCRCLAX,1上述三條指令執(zhí)行后,AX中的內(nèi)容是()。A)779FHB)779EHC)779DH D)7799H13.下列語句中能與“DA1 DB32H,34H”語句等效的是()。A)MOVDAI,32HB)MOV DA1,34MOVDA1+1,34HMOVDA1+1,32(C)MOVWORDPTRDA1, 3234HD)MOVWORDPTRDA1,‘'2414.設(shè)SP=50H,執(zhí)行段間返回指令''RET8''后,寄存器SP的內(nèi)容是( )。A) 5AH B)5CH C)44H D)46H匯編語言語句格式中,對名字項(xiàng)的規(guī)定,請指出錯誤的解釋( )。A) 名字的第一個字符只可以是大小寫英文字母及、@、_等。B) 名字的第一個字符可以是大小寫英文字母、數(shù)字、、@、_等。C) 名字的有效長度W31個字符。D) 名字從第二個字符起可以出現(xiàn)數(shù)字,但不允許出現(xiàn)$、#等字符。使用DOS功能調(diào)用時,子程序編號應(yīng)放在( )寄存器中。A)AH B)AL C)AX D)任意指定下列語句中能實(shí)現(xiàn)留空8個字節(jié)單元的語句是( )。A)DA1DT B)DA2DW, C)DA3DD D)DA4DQ設(shè)BX的內(nèi)容為0AA40H,執(zhí)行SHRDX, 1指令后的結(jié)果是( )。19.A)5520H B19.A)5520H B)5480H C)0D420HTESTDL, 55HD)0D580HJE NEXTNEXT:上述程序段,執(zhí)行JE指令時能產(chǎn)生轉(zhuǎn)移的情況是(AJE NEXTNEXT:上述程序段,執(zhí)行JE指令時能產(chǎn)生轉(zhuǎn)移的情況是(A)DL>55H B)DL<55H C)DL=55H)。D)DL中第0、2、4、6位均為020.寄存器BX和DX中存放有32位二進(jìn)制數(shù),其中BX中放高16位。下列程序段完成對32位數(shù)擴(kuò)大4倍的功能,那么該程序段中方框里應(yīng)填的語句是( )。MOV CX, 2LOP:LOP:SHLDX, 1LOOPLOPA)ROL BX, 1 B)ROR BX, 1 C)RCL BX, 1 D)RCR BX, 1二、填空題(本大題共5小題,每小題1分,共5分)名詞解釋:請將各小題的敘述與下面的詞語聯(lián)系起來,括號內(nèi)填入對應(yīng)的a,b,c,d,e。1?宏定義開始用的偽指令是( )。DF是程序狀態(tài)字寄存器的( )標(biāo)志位。對匯編語言源程序進(jìn)行匯編時,使用的宏匯編程序文件名是()。匯編語言程序中各語句的操作項(xiàng)可以是指令、偽指令或( )的助記符。CF是程序狀態(tài)字寄存器中的()標(biāo)志位。詞語:a)宏指令b)MASMc)狀態(tài)d)MACROe)控制三、 簡答題(本大題共3小題,每小題2分,共6分)DB ‘AB', 0, 0, ‘CD', 0, 0, ‘EF', 0, 0請分別用DW、DD偽指令改寫上述數(shù)據(jù)定義語句,要求改寫后保持內(nèi)存單元中內(nèi)容不變。2.執(zhí)行:“NEGDX”指令時:當(dāng)DX=時,CF=1當(dāng)DX=時,0F=13?設(shè)某數(shù)據(jù)段的段名為DATA段內(nèi)有一變量BUF,請分別用MOV指令寫出下述兩條語句等效的語句。①M(fèi)OVAX, DATA②LEABX,BUF四、程序分析題(本大題共7小題,每小題5分,共35分)1. MOVAL,01HRORAL,1ORAL,ALNEGAL上述程序執(zhí)行后,AL=,CF=c2.A、B均是長度為10的字節(jié)數(shù)組,DS、ES已指向同一數(shù)據(jù)段:ADB1,2,3,4,5,6,7,8,9,0AHBDB10AH,9,8,7,6,5,4,3,2,111LEASI,ALEADI,BMOVCX,10CLDLOP:LODSBXCHGAL,[DI]XCHGSI,DIDECDISTOSBXCHGSI,DIINCDILOOPLOP上述程序段執(zhí)行后:①程序段完成什么功能②程序段執(zhí)行后,A和B兩個字節(jié)數(shù)組的內(nèi)容分別是什么3.已知AL的值為0?F中的一位十六進(jìn)制數(shù):HECAPROCFARCMPAL, 10JCKK

ADDAL,7KK:ADDAL,30HMOVDL,ALMOVAH,2INT21HRETHECAENDP試回答:①該子程序完成什么功能TOC\o"1-5"\h\z②如調(diào)用子程序時AL=3,子程序執(zhí)行后,DL= 。如調(diào)用子程序時AL=OFH,子程序執(zhí)行后,DL= 4.MOVAL,0FHXORAL,0FFHMOVCL,7SHRAL,CL試回答:①上述程序段執(zhí)行后,AL= 。②如將指令SHR換成ROR指令后,那么程序段執(zhí)行后,AL= 5.已知BX=5E5CH,CX=8303H,CF=1RORBX,CLXORBH,CHROLBX,CL程序段執(zhí)行后,DX=,CF= 。6.XDW0123H,2A3EH,89DFHCOUNTEQU$—XYDB1COUNTDUP(0)1LEASI, XLEADI, YMOVCX,COUNTCLDREPMOVSB試回答:①上述程序段執(zhí)行后,Y數(shù)據(jù)區(qū)各字節(jié)單元中的內(nèi)容是什么②程序段功能不變情況下,REPMOVSB指令可否用下面兩條指令替代LOP:MOVSBLOOPLOP7.MOVAX,0E0EHMOVBX,AXSHRBX,1CWDDIVBXXCHGBX,AXMULBXTOC\o"1-5"\h\z上述程序段運(yùn)行結(jié)束后,AX= ,BX= 。五、程序填空題(本大題共2小題,每小題6分,共12分)?下面程序段是完成用單個字符輸入的1號功能調(diào)用,從鍵盤輸入10個字符,然后再用單個字符顯示輸出的2號功能調(diào)用,并以相反順序顯示輸出這10個字符。試把空白處填上適當(dāng)?shù)闹噶?。MOVCX, 10LOP1:MOV AH,01HINT21HLOOPLOP1MOV CX,10L0P2: MOVAH, 02HINT21HLOOPLOP2.下面程序段實(shí)現(xiàn)將BUFF為首地址的內(nèi)存區(qū)域,全部存儲OFFH數(shù)據(jù)。試把空白處填上適當(dāng)?shù)闹噶睢UFFDB20H DUP()MOVAX, OFFFFHMOVCX, 2OHREPSTOSW六、編制程序(本大題共3小題,共22分)?試編寫一程序段,實(shí)現(xiàn)32位有符號數(shù)除4。.試用兩條指令對寄存器CH和CL分別減1,且CL中減1的借位從CH中獲得,而CH中減1的借位從CL中獲得。.設(shè)數(shù)據(jù)段中有三個無符號數(shù),分別存放在DAT,DAT+1,DAT+2字節(jié)單元中,試編一完整的源程序,找出三個數(shù)中數(shù)值大小居中的一個,并將其存入BUF字節(jié)單元中。DATDB XX,XX,XXBUFDB匯編語言試卷一、選擇題(每小題1分,共20分)TOC\o"1-5"\h\z1.設(shè)A=186,B=273Q,C=OBBH,它們之間的關(guān)系是( )。A)A.>B>C B)A<B<C C)A=B=C D)A<B=C8O86/8O88的存儲器組織是將存儲器劃分為段,可以作為段的起始地址是()。A)185A2H B)OOO2OH C)O1OO4H D)OAB568H堆棧中當(dāng)前出棧的存儲單元地址是( )。A)SS*1OH+SPB)SS*1OH+BPC)SS*1O+SP D)SS*1O+BP.設(shè)DL=55H。執(zhí)行指令后能使DL中的數(shù)據(jù)為0AAH的指令是( )A)TESTDL,OAAHB)ORDL,OAAHC)NEGDLD)XORDL,OFFH.當(dāng)SS=9876H,SP=4328H,執(zhí)行POPF指令后,堆棧頂部的物理地址是( )A)9CA8AH B)9CA90H C)9CA86H D)0DB00HDW10HDUP(2DUP(3),300H)上述定義的數(shù)據(jù)單元中,能構(gòu)成0303H字存儲單元的個數(shù)是( )A) 10H B)20H C)1EH D)0FH.用一條指令實(shí)現(xiàn)將寄存器BX和SI的內(nèi)容相加,結(jié)果并送入AX中,這條指令是( )A)ADDAX,[BX][SI]B)MOVAX,[BX][SI]C)ANDAX,[BX][SI]D)LEAAX,[BX][SI].設(shè)AX中有一帶符號數(shù)8520H,執(zhí)行SARAX,1指令后,AX中的值是( )A)4290H B)0A40H C)0C290H D)0C260H下列中指令執(zhí)行后。能影響標(biāo)志位的指令是( )

A)PUSHF B)POPFC)JNLEOPRD)A)PUSHF B)POPFC)JNLEOPRD)LOOPZLOP循環(huán)控制指令LOOPNZ/LOOPNE繼續(xù)執(zhí)行循環(huán)的條件是(A) CXM0且ZF=1B)CXM0且ZF=0 C)CXM0或ZF=1下面兩個傳送指令語句中操作數(shù)尋址方式是( )。)。D)CXM0或ZF=0VAR1 DW32HVAR2 EQU32HIIIMOVAX,VAR1MOVBX,A)都是立即數(shù)尋址VAR2B)前一條指令是立即數(shù)尋址,后一條指令是直接尋址C)前一條指令是直接尋址,后一條指令是立即數(shù)尋址D)都是直接尋址12.ARRAYDW6,9,$+4,10H,1,$+4C)C)用LABLE偽指令定義D)由“JMP標(biāo)號”指令定義MOVAX, ARRAY+4設(shè)變量ARRAY的偏移量是0084H,上述指令執(zhí)行后AX的內(nèi)容是( )A)0009B)008CHC)0090HD)0010H13.設(shè)AX=0CCBBH,CF=1ANDAX,7FFEHRCRAX,1上述兩條指令執(zhí)行后,AX和CF中的內(nèi)容分別是()。A)AX=265DH,B)AX=265DHC)AX=0A65DHD)AX=0A65DHCF=0CF=1CF=0CF=114. DA_BEQUBYTEPTRDA_WDA_W1DW‘AB',‘CD',‘EF',‘GH'I1MOVBX, DA_W+3MOVBH, DA_B+3執(zhí)行上述兩條指令后,BX中的內(nèi)容是()。A)‘EF'B)‘FC'C)‘CC'D)‘FF15.指令語句中標(biāo)號的錯誤定義是( )。A)在代碼段中的名字項(xiàng)定義,后面緊跟冒號B)用EQU偽指令定義設(shè)VAR1和VAR2是已定義的變量名,非法的表達(dá)式是( )。A)VAR1—VAR2 B)VAR1—VAR2[BX] C)VAR1+VAR2 D)VAR1[BX]為在一連續(xù)的存儲器單元中依次存放數(shù)據(jù)41H,42H,…48H,下面的數(shù)據(jù)定義語句中有語法錯誤的是()。DB41H,42H,43H,44H,45H,46H,47H,48HDW4142H,4344H,4546H,4748HDB ‘ABCDEFGH'DW‘BA',‘DC',‘FE',‘HG'18.設(shè)NUM=B,指令“MOVAX, NUMSHL,3”執(zhí)行后的AX的值是()A)BB)BC)0011011BD)000B19.XORAX,AXMOVCX,5NEXT:ADDAL,6AAALOOPNEXT上述程序段執(zhí)行的結(jié)果是()。A)AX=0030H B)AX=0300H C)AX=30 D)AX=001EH20.如某循環(huán)程序是對兩個數(shù)組進(jìn)行某種運(yùn)算處理,當(dāng)數(shù)組處理完畢或運(yùn)算處理的結(jié)果不為某一指定值時(每次循環(huán)時,對運(yùn)算結(jié)果已進(jìn)行了測試),就結(jié)束循環(huán)。如要求一定使用循環(huán)控制指令,這時應(yīng)選用的指令是( )。A)LOOP B)LOOPE/LOOPZ C)LOOPNE/LOOPNZ D)JCXZ二、填空題(本大題共5小題,每小題1分,共5分)假設(shè)某個字的值是1234H,其低位字節(jié)地址是20H,高位字節(jié)地址是21H,那么該字的字地址是“SHLOPR,CNT”指令中OPR不允許使用立即數(shù)和 操作數(shù)?!癡ARDB5DUP(8,2DUP(5))語句匯編應(yīng)分配 個字節(jié)單元。指令“MOVAX, 20H[SI]“中操作數(shù)的物理地址表達(dá)式 。乘法指令語句“MULCL“,16位的乘積存放在 中。三、簡答題(本大題共3小題,每小題2分,共6分)設(shè)DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H字單元中有數(shù)據(jù)3C50H。請用一條指令將數(shù)據(jù)3C50H裝入AX寄存器。(不得使用立即數(shù))BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各條指令分別執(zhí)行后BX中的內(nèi)容各為多少A)ROLBX,CL ;BX=B)MOVBX,[DI] ;BX=3.DAT1DB1,2,3,4DAT2DW3412H,5678HMOV AX, DAT1+1;將DAT1+1字單元內(nèi)容送入AX中MOV BL, DAT2+1 ;將DAT2+1字節(jié)單元內(nèi)容送入AX中已知上述兩條MOV語句有語法錯誤,請根據(jù)注釋字段的要求將其改正(分別用一條語句改正)四、程序分析題(本大題共7小題,每小題5分,共35分)1.DA1DA2DWDB111F28H1XORBL,BLMOVAX,DA1LOP:ANDAX,AXJZKKSHLAX,1JNCLOPADDBL,1JMPLOPKK:MOVDA2,BL試問:①程序段執(zhí)行后,DA2字節(jié)單元內(nèi)容是什么②在程序段功能不變情況下,是否可用SHR指令代替SHL指令2.DA1DB87HDA2DBMOVAH,0MOVAL,DA1MOVCL,4

SHRAL,CLMOVDL,10MULDLMOVBL,DA1ANDAL,0FHADDAL,BLMOVDA2,AL試回答:①程序段執(zhí)行后,(DA2)=②在程序段功能不變情況下,是否可用SAR指令代替SHR指令3.3.MOVAL,NOTALXORAL,ORBL,程序段執(zhí)行后,AL=4.CTCMOVCX,MOVAXSARAXXCHGCH,SHLAX,BLBLAL ,BL=0403H0A433HCLCLCL程序段執(zhí)行后,AX=,CF= 。5程序段執(zhí)行后,AX=,CF= 。5. BYTE1DBXX;任意數(shù)BYTE2EQU10FEH1MOVDL,BYTE1ORDL,BYTE2程序段執(zhí)行后,DL=或 。6. DA_BDB10CH,9,8,0FH,0EH,0AH,2,3,7,41XORAX,AXXORCL,CLXORBX,BXLOP:TESTDA_B[BX],01HJENEXTADDAL,DA_B[BX]INCAHNEXT:INCBXINCCLCMPCL,10JNELOP上述程序段運(yùn)行結(jié)束后,AH= AL= 如果把“JE NEXT”指令改為“JNE NEXT"扌旨令,那么AH= ,AL=7.VAR_7.VAR_B DB10DUP(3,5,7,9)LEABX,VAR_BMOVCX,10XORAX,AXLOP:ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBAL,10NEXT:INCBXLOOPLOP上述程序段運(yùn)行結(jié)束后,AH=,AL=五、程序填空題(本大題共2小題,每小題6分,共12分)某程序段欲用單個字符顯示的2號DOS功能調(diào)用去顯示一字符串“STRING”。試在下面空白處填上適當(dāng)?shù)闹噶睿恳豢瞻滋巸H填一條指令)。STR1DB11‘STRING',‘$'1MOVBX,OFFSETSTR1LOP:MOVDL,[BX]MOVAH,02HINT21H① ② JNELOP程序段的功能是依次產(chǎn)生的0?9的10個ASCII碼,并存入BUF1數(shù)據(jù)區(qū),請在空白處填上指令(每一空白處僅填一條指令)。BUF1DB110DUP()1LEABX,BUF1MOVCX,10XORAL,ALLOP:MOVAH,ALADDAL,30H①一INCBX②一INCALLOOPLOP六、編制程序(本大題共3小題,共22分)(5分)把2個非壓縮BCD碼組合為有個壓縮BCD碼,并存入DA3中。DA1DB XX;高位非壓縮BCD碼DA2DB XX;低位非壓縮BCD碼DA3DB(5分)已知DAT1字節(jié)單元有一個數(shù)據(jù),試編制一程序段將該數(shù)據(jù)的低4位變?yōu)?010B,最高位(第7位)置1,其余3位不變,結(jié)果送DAT2字節(jié)單元。(12分)在N1和N2兩數(shù)據(jù)區(qū)中,分別有10H個帶符號數(shù)。試編制一源程序,找出對應(yīng)項(xiàng)目中較小的DATASEGMENTN1DBXX,XX,XX,…N2DBXX,XX,XX,…N3DB10HDUP(0)DATAENDS匯編語言試卷一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)TOC\o"1-5"\h\z設(shè)A=,B=,C=,D=,它們之間的關(guān)系是( )。A)C+D=B B)A+D=BC)B=DD)A>C>D標(biāo)志寄存器中屬于控制標(biāo)志位的是( )。A)DF,OF,SF B)DF,IF,TFC)OF,CF,PFD)AF,OF,SF8088/8086存儲器分段,每個段不超過()A)64K個字B)32K個字節(jié) C)1兆個字節(jié) D)64K個字節(jié)設(shè)AL中已有壓縮型BCD碼,為實(shí)現(xiàn)對AL的減1操作,可選用的指令序列是( )A)DECAL B)SBBAL,0AAS DASSUBAL,1 D)SUBAL,1AAS DAS5?要輸入端口1234H中的8位數(shù)據(jù),其指令應(yīng)是( )A)MOVDX,1234H B)MOVDX,1234HOUTDX,AL 1NAL,DX1NAX,1234H D)OUTDX,1234H若AX=-15要得到AX=15應(yīng)執(zhí)行的指令是( )A)NEGAXB)NOTAXC)INCAXD)DECAX8086/8088系統(tǒng)執(zhí)行傳送指令MOV時()。A)不影響標(biāo)志位B)影響DF方向標(biāo)志C)影響SF符號標(biāo)志D)影響CF進(jìn)位標(biāo)志MOVAL,79ADDAL,0B1HTOC\o"1-5"\h\z上面指令執(zhí)行后,設(shè)置的標(biāo)志位CF和OF的值是( )A)CF=0,OF=1 B)CF=1,OF=1 C)CF=0,OF=1 D)CF=1,OF=0已知AX,BX中均為帶符號數(shù),當(dāng)進(jìn)行字相除時,下面指令或指令序列正確的是( )A)DIV BX B)CWDIDIVBXC)XOR DX, DX D)CBWDIV BX IDIV BX下列指令中操作數(shù)在代碼段中的是( )。A)MOVAL,42H B)ADDAL,BLC)SUB[BX],DI D)1NC[DI]用REPESCASB指令對字符串進(jìn)行掃描,如CX0時,掃描結(jié)束,那么表示( )在字符串中遇上第一個AL中指定的字符在字符串中有一個AL中指定的字符在字符串中有一個不是AL中指定的字符TOC\o"1-5"\h\z在字符串中遇上第一個不是AL中指令的字符12.下列指令執(zhí)行后對源和目的操作數(shù)均無影響的是( )。A)MOV[BX+2],AXB)SUBAX,2467HC)SBB[SI],BXD)CMPAX,BX13.表示過程定義結(jié)束的偽指令是( )。A)ENDPB)ENDSC)ENDD)ENDM14.下列有語法錯誤的語句是( )。A)DB12HB)DW4567HC)DD'BCD' D)DB'CD'15.DB1DB8DUP(2DUP(3),3DUP(2))IIIMOVAX,WORDPTRDB1[04H]上面指令執(zhí)行后,AX的內(nèi)容是()。A)0302H B)0203H C)0202H D)0303H16.BUF1DB3DUP(0,2DUP(1,2),3)COUNTEQU$-BUF1符號COUNT等價的值是( )。A)6 B)18 C)16 D)817.DA1DW2A05HDA2DB0FAHIIIMOVAL,BYTEPTRDA1SUBDA2,ALTOC\o"1-5"\h\z上述指令執(zhí)行后,DA2中的內(nèi)容是( )。A)0DAHB)0FAHC)0F5H D)0D0H設(shè)(SS)=338AH,(SP)=450H,執(zhí)行PUSHBX,和PUSHF兩條指令后,堆棧頂部的物理地址是( )。A)33CECH B)33CF2H C)33CF4H D)33CE8H設(shè)(SP)=0028H,執(zhí)行段內(nèi)返回指令RET6后,SP的內(nèi)容是()。A)0036H B)0022H C)0030H D)0020H條件轉(zhuǎn)移指令JNBE產(chǎn)生轉(zhuǎn)移的條件是( )。A)CF=0ANDZF=0 B)CF=0ANDZF=1C)CF=1ANDZF=0D)CF=1ANDZF=1二、填空題(本大題共5小題,每小題1分,共5分)8086/8088CPU允許最大的存儲空間為1MB,因此CPU的地址總線是 位?!獋€語句的名字項(xiàng)可以是標(biāo)號或變量,在程序中它們兩個在書寫形式上的主要區(qū)別 。無符號數(shù)和帶符號數(shù)的兩組條件轉(zhuǎn)移指令,每條指令都有完全等效的兩個指令助記符,例如,JL指令另一個指令助記符 。扌旨令MOVAX,SEGBUF的執(zhí)行,是扌 送至UAX中。如果多個條件轉(zhuǎn)移指令實(shí)現(xiàn)多路分支程序設(shè)計,那么為實(shí)現(xiàn)5路分支,需要 個條件轉(zhuǎn)移指令。三、簡答題(本大題共3小題,每小題2分,共6分)假設(shè)DS=2000H,C0UNT=0100H,SI=0030H,指令MOVAX,COUNT[ST]①寫出源操作數(shù)的物理地址②該指令可否寫成MOVAX,[COUNT+SI]下面指令有無錯誤若有錯,是什么錯誤①M(fèi)OVAX,[SI][DI]②CMP[SI],[BX]條件轉(zhuǎn)移指令的判斷條件除標(biāo)志位PF外還有哪幾個標(biāo)志位四、程序分析題(本大題共7小題,每小題5分,共35分)29.ADRDW1234H,5678HIIILEASI,ADRLDSBX,ADR設(shè)變量ADR的偏移地址是100H,上述兩條指令執(zhí)行后:SI= ,BX= 。已知DS和ES指向同一個段,且當(dāng)前數(shù)據(jù)段從0000H到00FFH單元內(nèi)容分別為01,02,03,—,0FF,00H。問下列程序段執(zhí)行后,0000~0009H的內(nèi)容是些什么值。MOVSI,0000HMOVDI,0001HMOVCX,0080HCLDREPMOVSWSTR1DB'COMPUTERNDPASCAL"SCADB'N"IIILEADI,STR1MOVAL,SCAMOVCX,10HCLDREPNESCASBNEXT: 程序運(yùn)行到NEXT時CX= ZF= 已知AX=0FFFFH,DX=0001HMOVCX,2LOP:SHLAX,1RCLDX,1LOOPLOP上述程序段執(zhí)行后,DX= X= 已知DX=0A476H,CX=0302H,CF=1ORDX,DXRCRDX,CLXCHGCH,CLRCLDX,CL上述程序段執(zhí)行后,DX= CF= MOVAX,10SHLAX,1SHLAX,1MOVBX,AXMOVCL,2SHLAX,CLADDAX,BX上述程序段執(zhí)行后,BX= AX= 35.已知AX=78H,BX=0804HSHRBX,1ANDBX,0F0FHMOVCX,4LOP:XCHGBH,BLDIVBLSALAX,1LOOPLOP上述程序段執(zhí)行后,AX= BX= 五、程序填空題(本大題共2小題,每小題6分,共12分)下面程序執(zhí)行后,AL的內(nèi)容為ARRAY數(shù)組中的最小數(shù),請在空白處各填上一條指令。ARRAYDB3,5,-3,-2,4,5,-8,6IIIMOVCX,7MOVDI,0MOVAL,ARRAYA1: INCDI下面程序段是判斷兩個存儲單元是否同為正數(shù),如是,則AX置全0否則AX置非0。試在空白處各填上適當(dāng)?shù)囊粭l條件轉(zhuǎn)移指令(兩空白處要利用不同的標(biāo)志位選用不同的條件轉(zhuǎn)移指令)。VAR1DWXXXXVAR2DWXXXXMOVAX,VAR1MOVBX,VAR2XORAX,BXNEXT: 六、編程序(本大題共3小題,共22分)編一程序段將BUF字節(jié)單元中的數(shù)折成高低四位,并且將分離出的高四位和低四位分別放于BUF+1和BUF+2字節(jié)單元的低四位上。(5分)編寫一子程序,將AL中一位十六進(jìn)制數(shù)轉(zhuǎn)移為對應(yīng)的ASCII碼并用2號DOS功能調(diào)用顯示出來,輸入?yún)?shù):被轉(zhuǎn)換的十六進(jìn)制數(shù)已在AL中。(5分)在數(shù)據(jù)段中,WEEK是星期一~星期日的英語縮寫,DAY單元中有數(shù)1~7(1表示星期一,7表示星期日):WEEKDB'MON",'TUE",'WED','THU",'FRI",'SAT",'SUN"DAYDBX;數(shù)字1~7DAYDBX試編寫一源程序,根據(jù)DAY的內(nèi)容用單個字符顯示功能調(diào)用(2號功能)去顯示對應(yīng)的英文縮寫。(12分)匯編語言試卷一、單項(xiàng)選擇題(每小題1分,共16分)1.用DEBUG調(diào)試匯編語言程序時,顯示某指令的地址是2F80:F400,此時段寄存器CS的值是()。A)F400H B)2F80HC)F4000H D)2F800H設(shè)DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,執(zhí)行MOVAX,[1000H]則AX=()。A)8000H B)0080H C)2080H D)8020H下列四條指令中錯誤的是()。A)MOVAX,[SI]B)MOVAX,[DI]C)MOVAX,[SI+DI]D)MOVAX,[SI-DI]下列四條指令執(zhí)行后不影響標(biāo)志位的是()。A)JNCNEXTB)CMPAX,BXC)SHLAX,1D)ORAL,AL已知AX=0001H,下列四條指令執(zhí)行后,不能使ZF=1的語句是()。A)DECAXB)SUBAX,1C)ANDAX,1D)CMPAX,1在8086/8088系統(tǒng)中,約定用于形成堆棧段數(shù)據(jù)物理地址的寄存器有()。A)SS,SP,BPB)SS,SP,BXC)DS,BX,BPD)DS,SP,BP有指令MOVAX,1234H,指令中的立即數(shù)1234H是存儲在()。A)數(shù)據(jù)段B)代碼段C)附加段D)堆棧段8.要在程序中定義緩沖區(qū)BUF,保留9個字節(jié)存儲空間的語句是()。A)BUFDW9B)BUFDB9C)BUFDB9DUP()D)BUFDW9DUP()已知AL=56H,BL=34H,都是壓縮BCD碼,要執(zhí)行二數(shù)相加,正確的指令是()。A)ADDAL,BLB)ADCAL,BLC)ADDBL,ALD)ADCBL,ALDAA DAA DAA DAA在執(zhí)行子程序段內(nèi)調(diào)用CALLSUBR指令后,SP的值()。A)加1B)減1C)加2D)減2完成將AX清零,并且使CF清零,下面錯誤的指令是()。A)SUBAX,AXB)ANDAX,0C)XORAX,AXD)MOVAX,0定義宏指令的偽指令是()。A)PROC和ENDPB)CODE和ENDSC)EQU和ENDD)MACRO和ENDM在匯編語言源程序中,表達(dá)式的計算是由()完成的。A)編程者B)匯編程序C)程序執(zhí)行時D)連接程序?yàn)榱耸箞?zhí)行串操作指令時,地址按減量方式處理應(yīng)使用指令()。A)CLIB)STIC)CLDD)STD有數(shù)據(jù)定義NUMDB'12345',經(jīng)匯編后,NUM占有( )字節(jié)存儲單元。TOC\o"1-5"\h\zA)1 B)5 C)6 D)7匯編語言源程序每個語句可以由四項(xiàng)組成,如語句要完成一定功能,那么該語句中不可省略的項(xiàng)是()。A)名字項(xiàng)B)操作項(xiàng)C)操作數(shù)項(xiàng)D)注釋項(xiàng)二、填空題(每空1分,共16分)在8086/8088系統(tǒng)中,存儲器是分段的,每段最大長度是 字節(jié),段內(nèi)偏移地址從 到 。在程序調(diào)試時,顯示某指令存放地址是2340:0056,則物理地址是 。匯編語言源程序中的語句有三種類型,它們是 語句, 語句和 語句。指令MOVAX,[BX+SI+10H]源操作數(shù)尋址方式是 。5?執(zhí)行段間返回指令RET時,將棧頂?shù)囊粋€字彈出到 后,又彈出一個字到 寄存器中。已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,執(zhí)行NEGWORDPTR[DI]后,(31200H)= ,(31201H)= 。執(zhí)行下列指令序列MOVAL,80HMOVBL,08HCBWIDIVBL則AH= AL= 。已知數(shù)據(jù)定義語句ORG120HVECT1DW200HVECT2DWVECT1執(zhí)行MOVAX,VECT1AX= MOVBX,VECT2BX= 。三、簡答題(每小題4分,共12分)在80868088系統(tǒng)中,存儲器是分段組織的,按各段實(shí)際長度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,問題:(1)數(shù)據(jù)段起始地址是多少(2)計算數(shù)據(jù)段中最多可以存放多少個字節(jié)數(shù)據(jù)(要有具體計算式)(3)代碼段最多可以存放多少個字節(jié)程序代碼說明理由。已知數(shù)據(jù)段定義如下:DATASEGMENTRG100HBUFDW'CD', 1,3DUP(4,2DUP(8,6))VRADB4AHDATAENDS單獨(dú)執(zhí)行下列語句LEABX,BUFBX= MOVCX,VRABUFCX= (用十六進(jìn)制數(shù)表示)。分別說明下列兩組指令中兩條指令操作的相同點(diǎn)和不同點(diǎn)(1)SUBAX,BXCMPAX,BX(2)ANDCX,DXTESTCX,DX四、程序分析題(每小題6分,共24分)1.MOVAX,9090HSUBAX,4AE0HJCL1JOL2JMPL3上述程序執(zhí)行后AX= ,程序轉(zhuǎn)向 2.假設(shè)寄存器AX=1234H,DX=0A000HMOVBX,0MOVCX,BXSUBCX,AXSBBBX,DXMOVAX,CXMOVDX,BX上述程序段執(zhí)行后AX= ,DX= 程序功能是 3.BUFDB45H,68H,7AH,35H,39HMOVDI,OFFSETBUFMOVCX,5MOVAL,‘a(chǎn)'CLDREPSTOSB該程序段執(zhí)行后,BUF中的內(nèi)容是 ,方向標(biāo)志DF= 4.假設(shè)寄存器AX=5AH,CX=23HMOVDL,0LOP:SUBAX,CXJCNEXTINCDLJMPSHORTLOPNEXT:ADDAX,CXHLT上述程序段執(zhí)行后,AX= ,DL= ;用數(shù)學(xué)表達(dá)式指明程序功能: 五、程序填空題(每小題6分,共12分,每空格只能填一條指令)1.下列程序段求數(shù)組FLD的平均值,結(jié)果在AL中。請將程序填寫完整(不考慮溢出)FLDDW10,-20,30,-60,-71,80,79,56MOVCX,8XORAX,AXR1: ADDSI,2LOOPR1MOVCL,8IDIVCLHLT2.已知數(shù)據(jù)段DAT單元存放某一數(shù)N(-6WNW6)下面的程序段用查表法求數(shù)N的平方值,結(jié)果送SQR單元,請將程序填寫完整。TABLEDB0, 1,4,9, 16,25DATDBNSQRDBLEABX,TABLEMOVAL,DATJGENEXTNEXT:XLATHLT六、程序設(shè)計題(第1小題6分,第2小題14分,共20分)1.假設(shè)DATAX和DATAX+2單元存放雙字P,DATAY和DATAY+2單元中存放雙字Q,編程計算2P-Q,差在DX,AX中。若0F=1,程序轉(zhuǎn)OVERFLOW,否則轉(zhuǎn)NOOVER。(只寫與試題要求有關(guān)的指令語句)

2?已知在數(shù)據(jù)區(qū)BUF1和BUF2分別存放20個字節(jié)數(shù)據(jù)。編程檢查兩數(shù)據(jù)區(qū)中的數(shù)據(jù)是否相同。若完全一致,則將標(biāo)志單元FLAG置FFH,否則置0,并將第一次出現(xiàn)的不同數(shù)據(jù)的地址分別存放在ADDR1和ADDR2單元中。要求:源程序格式完整。課堂練習(xí)1?把2個非壓縮BCD碼組合為1個壓縮BCD碼,并

溫馨提示

  • 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

提交評論