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

下載本文檔

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

文檔簡(jiǎn)介

匯編語言試卷1匯編語言試卷1匯編語言試卷1資料僅供參考文件編號(hào):2022年4月匯編語言試卷1版本號(hào):A修改號(hào):1頁次:1.0審核:批準(zhǔn):發(fā)布日期:匯編語言試卷單項(xiàng)選擇(本大題共15小題,每小題2分,共30分)1.在下列段寄存器,代碼段寄存器是()。A)ESB)CSC)DSD)SS2.設(shè)物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,如從地址10FF1H中取出一個(gè)字的內(nèi)容是()。A)1020HB)3020HC)2030HD)2010H3.完成將累加器AL清零,并使進(jìn)位標(biāo)志CF清零,下面錯(cuò)誤的指令是()。A)MOVAL,00HB)ANDAL,00HC)XORAL,ALD)SUBAL,AL4.設(shè)DS=8225H,DI=3942H,指令NEG

BYTE

PTR[DI]操作數(shù)的物理地址是(

)。A)12169HB)86192HC)BB690HD)85B92H5.下列寄存器組中在段內(nèi)尋址時(shí)可以提供偏移地址的寄存器組是(

)。A)AX,BX,CX,DXB)BX,BP,SI,DIC)SP,IP,BP,DXD)CS,DS,ES,SS6.對(duì)寄存器AX的內(nèi)容乘以4的正確指令序列是(

)。A)SHR

AX,1

SHR

AX,1B)SHL

AX,1

SHLAX,1C)ROL

AX,1

ROL

AX,1D)RCR

AX,1

RCR

AX,17.下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是(

)。A)TEST

AL,02HB)OR

AL,ALC)CMP

AL,BLD)AND

AL,BL8.執(zhí)行下面指令序列后,結(jié)果是(

)。MOV

AL,82HCBWA)AX=0FF82HB)AX=8082HC)AX=0082HD)AX=0F82H9.MOV

SP,3210HPUSH

AX執(zhí)行上述指令序列后,SP寄存器的值是(

)。A)3211HB)320EHC)320FHD)3212H10.匯編語言源程序中,每個(gè)語句由四項(xiàng)組成,如語句要完成一定功能,那么該語句中不可省略的項(xiàng)是(

)。A)名字項(xiàng)B)操作項(xiàng)C)操作數(shù)項(xiàng)D)注釋項(xiàng)11.DEC

BYTE

PTR[BX]指令中的操作數(shù)的數(shù)據(jù)類型是(

)。A)字B)雙字C)字節(jié)D)四字12.下列四條指令中錯(cuò)誤的是()。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)減214.為了使執(zhí)行串操作指令時(shí),地址按減量方式處理應(yīng)使用指令()。A)CLIB)STIC)CLDD)STD15.有數(shù)據(jù)定義NUMDB'12345',經(jīng)匯編后,NUM占有()字節(jié)存儲(chǔ)單元A)1B)5C)6D)7簡(jiǎn)答題(本題共3小題,每小題5分,共15分)1.完成下列操作,選用什么指令:(1)將AX的內(nèi)容,減去0520H,和上次運(yùn)算的借位;(2)將變量名TABL的段地址送AX:2.在指令系統(tǒng)中,段內(nèi)、段間返回均為RET指令。試回答:執(zhí)行段內(nèi)返回RET指令時(shí),執(zhí)行的操作是:執(zhí)行段間返回RET指令時(shí),執(zhí)行的操作是:3.分別指出下列指令中源操作數(shù)的尋址方式:A)MOV

SI,100;

B)MOV

CX,DATA[SI];

C)MOV

[SI],AX;

D)ADD

AX,[BX][DI];

E)POPHF;程序分析題(共5小題,每小題6分,共30分)1.ADW1234HBDW5678H:PUSHAPUSHBPOPAPOPB試回答:上述程序段執(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,XOR

AL,0FHAND

BL,0FHOR

CL,0FH執(zhí)行上述指令序列后,AL=_____;BL=___;CL=_______。4.START

DW

10H,20H,30H,40H,50HEE1

DW

3

:

MOV

BX,OFFSET

STARTADD

BX,EE1MOV

AX,[BX]執(zhí)行上述指令序列后,AX=_____。5.現(xiàn)有程序段如下:MOVCX,63HMOVAX,1MOVBX,2DON:ADDAX,BXINCBXLOOPDONHLT請(qǐng)問:1)該程序完成的功能是什么?2)程序執(zhí)行后AX=。編制程序(段)題(第1、2小題各6分,第3小題13分,共25分)1.編一程序段將BUF字節(jié)單元中的數(shù)折成高低四位,并且將分離出的高四位和低四位分別放于BUF+1和BUF+2字節(jié)單元的低四位上。2.編一程序段完成AX=1+2+3+…+98+99+1003.在BUF1和BUF2兩個(gè)數(shù)據(jù)區(qū)中,各定義有10個(gè)帶符號(hào)字?jǐn)?shù)據(jù),試編制一完整的源程序,求它們對(duì)應(yīng)項(xiàng)的絕對(duì)值之和,并將和數(shù)存入以SUM為首址的數(shù)據(jù)區(qū)中。DATA

SEGMENTBUF1

DW-56,24,54,-1,89,-8……BUF2

DW45,-23,124,345,-265,……SUM

DW10DUP(0)DATA

ENDS單項(xiàng)選擇題(每小題1分,共20分)1.如某存儲(chǔ)器一個(gè)段最多允許16K個(gè)字單元,那么表示一個(gè)段內(nèi)偏移地址的二進(jìn)制位數(shù)至少是()位。A)15B)16C)17D)182.下列操作中允許超越的是()。A)取指令B)存目的串C)以BP為基址存取操作數(shù)D)堆棧操作3.下面有語法錯(cuò)誤的指令語句是()。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,01HD)TESTBX,01H5.設(shè)CL=05H,要獲得CL=0AH,可選用的指令是()。A)XORCL,0FHB)NOTCLC)ORCL,0AHD)ANDCL,0FH6.沒有語法錯(cuò)誤的輸出指令是()。A)OUTAX,30HB)OUTDX,ALC)OUTAL,DXD)OUT30H,AH7.假設(shè)執(zhí)行ADD指令后AX=6EH,再執(zhí)行AAA指令,AX中的值是()。A)14HB)0104HC)74HD)04H8.某數(shù)據(jù)段有如下語句:ORG0435HDA1DB17H,44H,77HADRDWDA1下述語句能使AL中的數(shù)據(jù)為偶數(shù)的是()。A)MOVAX,WORTPTRDA1B)MOVAX,WORDPTRDA1[1]C)MOVAX,ADRD)MOVAX,BYTEPTRADR9.當(dāng)執(zhí)行條件轉(zhuǎn)移指令JNSOPR時(shí),如條件成立,相對(duì)于轉(zhuǎn)移指令的轉(zhuǎn)移距離是()。A)-128~+127個(gè)字節(jié)B)-126~+127個(gè)字節(jié)C)-128~+129個(gè)字節(jié)D)-126~+129個(gè)字節(jié)10.用MOV指令將十進(jìn)制數(shù)89以非壓縮BCD碼格式送入AX,可使用的指令是()。A)MOVAX,89B)MOVAX,0809C)MOVAX,89HD)MOVAX,0809HVAR1EQUBYTEPTRVAR2VAR2DW0ABCDH┇SHLVAR1,1SHRVAR2,1上述兩條指令執(zhí)行后,VAR2字單元內(nèi)容是()。A)0ABCDHB)0AB9AHC)55CDHD)559AH12.設(shè)AX=0BBCCH,CF=1ORAX,3CMCRCLAX,1上述三條指令執(zhí)行后,AX中的內(nèi)容是()。A)779FHB)779EHC)779DHD)7799H13.下列語句中能與“DA1DB32H,34H”語句等效的是()。A)MOVDAI,32HB)MOVDA1,34MOVDA1+1,34HMOVDA1+1,32C)MOVWORDPTRDA1,3234HD)MOVWORDPTRDA1,‘’24‘’14.設(shè)SP=50H,執(zhí)行段間返回指令‘’RET8‘’后,寄存器SP的內(nèi)容是()。A)5AHB)5CHC)44HD)46H15.匯編語言語句格式中,對(duì)名字項(xiàng)的規(guī)定,請(qǐng)指出錯(cuò)誤的解釋()。名字的第一個(gè)字符只可以是大小寫英文字母及、@、_等。名字的第一個(gè)字符可以是大小寫英文字母、數(shù)字、、@、_等。名字的有效長(zhǎng)度≤31個(gè)字符。D)名字從第二個(gè)字符起可以出現(xiàn)數(shù)字,但不允許出現(xiàn)$、#等字符。16.使用DOS功能調(diào)用時(shí),子程序編號(hào)應(yīng)放在()寄存器中。A)AHB)ALC)AXD)任意指定17.下列語句中能實(shí)現(xiàn)留空8個(gè)字節(jié)單元的語句是()。A)DA1DTB)DA2DW,C)DA3DDD)DA4DQ18.設(shè)BX的內(nèi)容為0AA40H,執(zhí)行SHRDX,1指令后的結(jié)果是()。A)5520HB)5480HC)0D420HD)0D580H19.TESTDL,55HJENEXT┇NEXT:﹍﹍┇上述程序段,執(zhí)行JE指令時(shí)能產(chǎn)生轉(zhuǎn)移的情況是()。A)DL﹥55HB)DL﹤55HC)DL=55HD)DL中第0、2、4、6位均為020.寄存器BX和DX中存放有32位二進(jìn)制數(shù),其中BX中放高16位。下列程序段完成對(duì)32位數(shù)擴(kuò)大4倍的功能,那么該程序段中方框里應(yīng)填的語句是()。MOVCX,2LOP:SHLDX,1LOOPLOPA)ROLBX,1B)RORBX,1C)RCLBX,1D)RCRBX,1二、填空題(本大題共5小題,每小題1分,共5分)名詞解釋:請(qǐng)將各小題的敘述與下面的詞語聯(lián)系起來,括號(hào)內(nèi)填入對(duì)應(yīng)的a,b,c,d,e。1.宏定義開始用的偽指令是()。2.DF是程序狀態(tài)字寄存器的()標(biāo)志位。3.對(duì)匯編語言源程序進(jìn)行匯編時(shí),使用的宏匯編程序文件名是()。4.匯編語言程序中各語句的操作項(xiàng)可以是指令、偽指令或()的助記符。5.CF是程序狀態(tài)字寄存器中的()標(biāo)志位。詞語:a)宏指令b)MASMc)狀態(tài)d)MACROe)控制簡(jiǎn)答題(本大題共3小題,每小題2分,共6分)DB‘AB’,0,0,‘CD’,0,0,‘EF’,0,0請(qǐng)分別用DW、DD偽指令改寫上述數(shù)據(jù)定義語句,要求改寫后保持內(nèi)存單元中內(nèi)容不變。2.執(zhí)行:“NEGDX”指令時(shí):①當(dāng)DX=?時(shí),CF=1

②當(dāng)DX=?時(shí),OF=1

3.設(shè)某數(shù)據(jù)段的段名為DATA,段內(nèi)有一變量BUF,請(qǐng)分別用MOV指令寫出下述兩條語句等效的語句。①M(fèi)OVAX,DATA②LEABX,BUF四、程序分析題(本大題共7小題,每小題5分,共35分)MOVAL,01HRORAL,1ORAL,ALNEGAL上述程序執(zhí)行后,AL=,CF=。2.A、B均是長(zhǎng)度為10的字節(jié)數(shù)組,DS、ES已指向同一數(shù)據(jù)段:ADB1,2,3,4,5,6,7,8,9,0AHBDB0AH,9,8,7,6,5,4,3,2,1┇LEASI,ALEADI,BMOVCX,10CLDLOP:LODSBXCHGAL,[DI]XCHGSI,DIDECDISTOSBXCHGSI,DIINCDILOOPLOP上述程序段執(zhí)行后:①程序段完成什么功能?

②程序段執(zhí)行后,A和B兩個(gè)字節(jié)數(shù)組的內(nèi)容分別是什么?

3.已知AL的值為0~F中的一位十六進(jìn)制數(shù):HECAPROCFARCMPAL,10JCKKADDAL,7KK:ADDAL,30HMOVDL,ALMOVAH,2INT21HRETHECAENDP試回答:①該子程序完成什么功能?

②如調(diào)用子程序時(shí)AL=3,子程序執(zhí)行后,DL=。如調(diào)用子程序時(shí)AL=0FH,子程序執(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$—XYDBCOUNTDUP(0)┇LEASI,XLEADI,YMOVCX,COUNTCLDREPMOVSB試回答:①上述程序段執(zhí)行后,Y數(shù)據(jù)區(qū)各字節(jié)單元中的內(nèi)容是什么②程序段功能不變情況下,REPMOVSB指令可否用下面兩條指令替代:LOP:MOVSBLOOPLOP7.MOVAX,0E0EHMOVBX,AXSHRBX,1CWDDIVBXXCHGBX,AXMULBX上述程序段運(yùn)行結(jié)束后,AX=,BX=。五、程序填空題(本大題共2小題,每小題6分,共12分)下面程序段是完成用單個(gè)字符輸入的1號(hào)功能調(diào)用,從鍵盤輸入10個(gè)字符,然后再用單個(gè)字符顯示輸出的2號(hào)功能調(diào)用,并以相反順序顯示輸出這10個(gè)字符。試把空白處填上適當(dāng)?shù)闹噶睢OVCX,10LOP1:MOVAH,01HINT21HLOOPLOP1MOVCX,10LOP2:MOVAH,02HINT21HLOOPLOP2下面程序段實(shí)現(xiàn)將BUFF為首地址的內(nèi)存區(qū)域,全部存儲(chǔ)0FFH數(shù)據(jù)。試把空白處填上適當(dāng)?shù)闹噶?。BUFFDB20HDUP()┇MOVAX,0FFFFHMOVCX,20HREPSTOSW六、編制程序(本大題共3小題,共22分)1.試編寫一程序段,實(shí)現(xiàn)32位有符號(hào)數(shù)除4。2.試用兩條指令對(duì)寄存器CH和CL分別減1,且CL中減1的借位從CH中獲得,而CH中減1的借位從CL中獲得。3.設(shè)數(shù)據(jù)段中有三個(gè)無符號(hào)數(shù),分別存放在DAT,DAT+1,DAT+2字節(jié)單元中,試編一完整的源程序,找出三個(gè)數(shù)中數(shù)值大小居中的一個(gè),并將其存入BUF字節(jié)單元中。DATDB××,××,××BUFDB匯編語言試卷一、選擇題(每小題1分,共20分)1.設(shè)A=186,B=273Q,C=0BBH,它們之間的關(guān)系是()。A)A.﹥B﹥CB)A﹤B﹤CC)A=B=CD)A﹤B=C2.8086/8088的存儲(chǔ)器組織是將存儲(chǔ)器劃分為段,可以作為段的起始地址是()。A)185A2HB)00020HC)01004HD)0AB568H3.堆棧中當(dāng)前出棧的存儲(chǔ)單元地址是()。A)SS*10H+SPB)SS*10H+BPC)SS*10+SPD)SS*10+BP4.設(shè)DL=55H。執(zhí)行指令后能使DL中的數(shù)據(jù)為0AAH的指令是()。A)TESTDL,0AAHB)ORDL,0AAHC)NEGDLD)XORDL,0FFH5.當(dāng)SS=9876H,SP=4328H,執(zhí)行POPF指令后,堆棧頂部的物理地址是()。A)9CA8AHB)9CA90HC)9CA86HD)0DB00H6.DW10HDUP(2DUP(3),300H)上述定義的數(shù)據(jù)單元中,能構(gòu)成0303H字存儲(chǔ)單元的個(gè)數(shù)是()。A)10HB)20HC)1EHD)0FH7.用一條指令實(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]8.設(shè)AX中有一帶符號(hào)數(shù)8520H,執(zhí)行SARAX,1指令后,AX中的值是()。A)4290HB)0A40HC)0C290HD)0C260H9.下列中指令執(zhí)行后。能影響標(biāo)志位的指令是()。A)PUSHFB)POPFC)JNLEOPRD)LOOPZLOP10.循環(huán)控制指令LOOPNZ/LOOPNE繼續(xù)執(zhí)行循環(huán)的條件是()。A)CX≠0且ZF=1B)CX≠0且ZF=0C)CX≠0或ZF=1D)CX≠0或ZF=011.下面兩個(gè)傳送指令語句中操作數(shù)尋址方式是()。VAR1DW32HVAR2EQU32H┇MOVAX,VAR1MOVBX,VAR2A)都是立即數(shù)尋址B)前一條指令是立即數(shù)尋址,后一條指令是直接尋址C)前一條指令是直接尋址,后一條指令是立即數(shù)尋址D)都是直接尋址12.ARRAYDW6,9,$+4,10H,1,$+4┇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_WDW‘AB’,‘CD’,‘EF’,‘GH’┇MOVBX,DA_W+3MOVBH,DA_B+3執(zhí)行上述兩條指令后,BX中的內(nèi)容是()。A)‘EF’B)‘FC’C)‘CC’D)‘FF’15.指令語句中標(biāo)號(hào)的錯(cuò)誤定義是()。A)在代碼段中的名字項(xiàng)定義,后面緊跟冒號(hào)B)用EQU偽指令定義C)用LABLE偽指令定義D)由“JMP標(biāo)號(hào)”指令定義16.設(shè)VAR1和VAR2是已定義的變量名,非法的表達(dá)式是()。A)VAR1—VAR2B)VAR1—VAR2[BX]C)VAR1+VAR2D)VAR1[BX]17.為在一連續(xù)的存儲(chǔ)器單元中依次存放數(shù)據(jù)41H,42H,﹍48H,下面的數(shù)據(jù)定義語句中有語法錯(cuò)誤的是()。DB41H,42H,43H,44H,45H,46H,47H,48HDW4142H,4344H,4546H,4748HDB‘ABCDEFGH’DW‘BA’,‘DC’,‘FE’,‘HG’18.設(shè)NUM=B,指令“MOVAX,NUMSHL,3”A)BB)BC)0011011BD)000BXORAX,AXMOVCX,5NEXT:ADDAL,6AAALOOPNEXT上述程序段執(zhí)行的結(jié)果是()。A)AX=0030HB)AX=0300HC)AX=30D)AX=001EH20.如某循環(huán)程序是對(duì)兩個(gè)數(shù)組進(jìn)行某種運(yùn)算處理,當(dāng)數(shù)組處理完畢或運(yùn)算處理的結(jié)果不為某一指定值時(shí)(每次循環(huán)時(shí),對(duì)運(yùn)算結(jié)果已進(jìn)行了測(cè)試),就結(jié)束循環(huán)。如要求一定使用循環(huán)控制指令,這時(shí)應(yīng)選用的指令是()。A)LOOPB)LOOPE/LOOPZC)LOOPNE/LOOPNZD)JCXZ二、填空題(本大題共5小題,每小題1分,共5分)假設(shè)某個(gè)字的值是1234H,其低位字節(jié)地址是20H,高位字節(jié)地址是21H,那么該字的字地址是。2.“SHLOPR,CNT”指令中OPR不允許使用立即數(shù)和操作數(shù)。3.“VARDB5DUP(8,2DUP(5))語句匯編應(yīng)分配個(gè)字節(jié)單元。4.指令“MOVAX,20H[SI]“中操作數(shù)的物理地址表達(dá)式是。5.乘法指令語句“MULCL“,16位的乘積存放在中。三、簡(jiǎn)答題(本大題共3小題,每小題2分,共6分)1.設(shè)DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H字單元中有數(shù)據(jù)3C50H。請(qǐng)用一條指令將數(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,5678H┇MOVAX,DAT1+1;將DAT1+1字單元內(nèi)容送入AX中MOVBL,DAT2+1;將DAT2+1字節(jié)單元內(nèi)容送入AX中已知上述兩條MOV語句有語法錯(cuò)誤,請(qǐng)根據(jù)注釋字段的要求將其改正(分別用一條語句改正)四、程序分析題(本大題共7小題,每小題5分,共35分)1.DA1DW1F28HDA2DB┇XORBL,BLMOVAX,DA1LOP:ANDAX,AXJZKKSHLAX,1JNCLOPADDBL,1JMPLOPKK:MOVDA2,BL試問:①程序段執(zhí)行后,DA2字節(jié)單元內(nèi)容是什么?

②在程序段功能不變情況下,是否可用SHR指令代替SHL指令?

2.DA1DB87HDA2DB┇MOVAH,0MOVAL,DA1MOVCL,4SHRAL,CLMOVDL,10MULDLMOVBL,DA1ANDAL,0FHADDAL,BLMOVDA2,AL試回答:①程序段執(zhí)行后,(DA2)=;②在程序段功能不變情況下,是否可用SAR指令代替SHR指令?

3.MOVAL,BLNOTALXORAL,BLORBL,AL程序段執(zhí)行后,AL=,BL=。CTCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL程序段執(zhí)行后,AX=,CF=。5.BYTE1DBXX;任意數(shù)BYTE2EQU0FEH┇MOVDL,BYTE1ORDL,BYTE2程序段執(zhí)行后,DL=或。6.DA_BDB0CH,9,8,0FH,0EH,0AH,2,3,7,4┇XORAX,AXXORCL,CLXORBX,BXLOP:TESTDA_B[BX],01HJENEXTADDAL,DA_B[BX]INCAHNEXT:INCBXINCCLCMPCL,10JNELOP上述程序段運(yùn)行結(jié)束后,AH=,AL=。如果把“JENEXT”指令改為“JNENEXT”指令,那么AH=,AL=。7.VAR_BDB10DUP(3,5,7,9)┇LEABX,VAR_BMOVCX,10 XORAX,AXLOP:ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBAL,10NEXT:INCBXLOOPLOP上述程序段運(yùn)行結(jié)束后,AH=,AL=。五、程序填空題(本大題共2小題,每小題6分,共12分)某程序段欲用單個(gè)字符顯示的2號(hào)DOS功能調(diào)用去顯示一字符串“STRING”。試在下面空白處填上適當(dāng)?shù)闹噶睿恳豢瞻滋巸H填一條指令)。STR1DB‘STRING’,‘$’┇MOVBX,OFFSETSTR1LOP:MOVDL,[BX]MOVAH,02HINT21H①②JNELOP程序段的功能是依次產(chǎn)生的0~9的10個(gè)ASCⅡ碼,并存入BUF1數(shù)據(jù)區(qū),請(qǐng)?jiān)诳瞻滋幪钌现噶睿恳豢瞻滋巸H填一條指令)。BUF1DB10DUP()┇LEABX,BUF1MOVCX,10XORAL,ALLOP:MOVAH,ALADDAL,30H①INCBX②INCALLOOPLOP六、編制程序(本大題共3小題,共22分)1.(5分)把2個(gè)非壓縮BCD碼組合為有個(gè)壓縮BCD碼,并存入DA3中。DA1DBXX;高位非壓縮BCD碼DA2DBXX;低位非壓縮BCD碼DA3DB2.(5分)已知DAT1字節(jié)單元有一個(gè)數(shù)據(jù),試編制一程序段將該數(shù)據(jù)的低4位變?yōu)?010B,最高位(第7位)置1,其余3位不變,結(jié)果送DAT2字節(jié)單元。3.(12分)在N1和N2兩數(shù)據(jù)區(qū)中,分別有10H個(gè)帶符號(hào)數(shù)。試編制一源程序,找出對(duì)應(yīng)項(xiàng)目中較小的數(shù)據(jù),并將這些較小的數(shù)據(jù)存入N3數(shù)據(jù)區(qū)中(要求:對(duì)應(yīng)項(xiàng)比較時(shí)必須用CMPS指令)。DATASEGMENTN1DBXX,XX,XX,……N2DBXX,XX,XX,……N3DB10HDUP(0)DATAENDS匯編語言試卷一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)1.設(shè)A=,B=,C=,D=,它們之間的關(guān)系是()。A)C+D=B B)A+D=BC)B=D D)A>C>D2.標(biāo)志寄存器中屬于控制標(biāo)志位的是()。A)DF,OF,SF B)DF,IF,TFC)OF,CF,PF D)AF,OF,SF3.8088/8086存儲(chǔ)器分段,每個(gè)段不超過()A)64K個(gè)字 B)32K個(gè)字節(jié)C)1兆個(gè)字節(jié) D)64K個(gè)字節(jié)4.設(shè)AL中已有壓縮型BCD碼,為實(shí)現(xiàn)對(duì)AL的減1操作,可選用的指令序列是()。A)DECAL B)SBBAL,0AAS DASC)SUBAL,1 D)SUBAL,1AAS DAS 5.要輸入端口1234H中的8位數(shù)據(jù),其指令應(yīng)是()。A)MOVDX,1234H B)MOVDX,1234HOUTDX,AL 1NAL,DXC)1NAX,1234H D)OUTDX,1234H6.若AX=-15要得到AX=15應(yīng)執(zhí)行的指令是()。A)NEGAX B)NOTAXC)INCAX D)DECAX7.8086/8088系統(tǒng)執(zhí)行傳送指令MOV時(shí)()。A)不影響標(biāo)志位 B)影響DF方向標(biāo)志C)影響SF符號(hào)標(biāo)志 D)影響CF進(jìn)位標(biāo)志8.MOVAL,79ADDAL,0B1H上面指令執(zhí)行后,設(shè)置的標(biāo)志位CF和OF的值是()A)CF=0,OF=1 B)CF=1,OF=1C)CF=0,OF=1 D)CF=9.已知AX,BX中均為帶符號(hào)數(shù),當(dāng)進(jìn)行字相除時(shí),下面指令或指令序列正確的是()。A)DIVBX B)CWD IDIVBXC)XORDX,DX D)CBW DIVBX IDIV BX10.下列指令中操作數(shù)在代碼段中的是()。A)MOVAL,42H B)ADDAL,BLC)SUB[BX],DI D)1NC[DI]11.用REPESCASB指令對(duì)字符串進(jìn)行掃描,如CX0時(shí),掃描結(jié)束,那么表示()。A)在字符串中遇上第一個(gè)AL中指定的字符B)在字符串中有一個(gè)AL中指定的字符C)在字符串中有一個(gè)不是AL中指定的字符D)在字符串中遇上第一個(gè)不是AL中指令的字符12.下列指令執(zhí)行后對(duì)源和目的操作數(shù)均無影響的是()。A)MOV[BX+2],AX B)SUBAX,2467HC)SBB[SI],BX D)CMPAX,BX13.表示過程定義結(jié)束的偽指令是()。A)ENDP B)ENDSC)END D)ENDM 14.下列有語法錯(cuò)誤的語句是()。A)DB12H B)DW4567HC)DDˋBCDˊ D)DBˋCDˊ15.DB1DB8DUP(2DUP(3),3DUP(2)) ┇ MOVAX,WORDPTRDB1[04H] 上面指令執(zhí)行后,AX的內(nèi)容是()。A)0302H B)0203HC)0202H D)0303H16.BUF1DB3DUP(0,2DUP(1,2),3) COUNTEQU$-BUF1 符號(hào)COUNT等價(jià)的值是()。A)6 B)1817.DA1DW2A05H DA2DB0FAH ┇ MOVAL,BYTEPTRDA1SUBDA2,AL 上述指令執(zhí)行后,DA2中的內(nèi)容是()。A)0DAH B)0FAHC)0F5H D)0D0H 18.設(shè)(SS)=338AH,(SP)=450H,執(zhí)行PUSHBX,和PUSHF兩條指令后,堆棧頂部的物理地址是()。A)33CECH B)33CF2HC)33CF4H D)33CE8H 19.設(shè)(SP)=0028H,執(zhí)行段內(nèi)返回指令RET6后,SP的內(nèi)容是()。A)0036H B)0022HC)0030H D)0020H20.條件轉(zhuǎn)移指令JNBE產(chǎn)生轉(zhuǎn)移的條件是()。A)CF=0ANDZF=0 B)CF=0ANDZF=1C二、填空題(本大題共5小題,每小題1分,共5分)21.8086/8088CPU允許最大的存儲(chǔ)空間為1MB,因此CPU的地址總線是位。22.一個(gè)語句的名字項(xiàng)可以是標(biāo)號(hào)或變量,在程序中它們兩個(gè)在書寫形式上的主要區(qū)別是。23.無符號(hào)數(shù)和帶符號(hào)數(shù)的兩組條件轉(zhuǎn)移指令,每條指令都有完全等效的兩個(gè)指令助記符,例如,JL指令另一個(gè)指令助記符是。24.指令MOVAX,SEGBUF的執(zhí)行,是把送到AX中。25.如果多個(gè)條件轉(zhuǎn)移指令實(shí)現(xiàn)多路分支程序設(shè)計(jì),那么為實(shí)現(xiàn)5路分支,需要個(gè)條件轉(zhuǎn)移指令。三、簡(jiǎn)答題(本大題共3小題,每小題2分,共6分)26.假設(shè)DS=2000H,COUNT=0100H,SI=0030H,指令MOVAX,COUNT[ST] ①寫出源操作數(shù)的物理地址?②該指令可否寫成MOVAX,[COUNT+SI]27.下面指令有無錯(cuò)誤若有錯(cuò),是什么錯(cuò)誤①M(fèi)OVAX,[SI][DI]②CMP[SI],[BX]28.條件轉(zhuǎn)移指令的判斷條件除標(biāo)志位PF外還有哪幾個(gè)標(biāo)志位?

四、程序分析題(本大題共7小題,每小題5分,共35分)29.ADRDW1234H,5678H┇LEASI,ADRLDSBX,ADR設(shè)變量ADR的偏移地址是100H,上述兩條指令執(zhí)行后:SI=,BX=。30.已知DS和ES指向同一個(gè)段,且當(dāng)前數(shù)據(jù)段從0000H到00FFH單元內(nèi)容分別為01,02,03,…,0FF,00H。問下列程序段執(zhí)行后,0000~0009H的內(nèi)容是些什么值。MOVSI,0000HMOVDI,0001HMOVCX,0080HCLDREPMOVSW31.STR1DBˋCOMPUTERNDPASCALˊ SCADBˋNˊ ┇LEADI,STR1MOVAL,SCAMOVCX,10HCLDREPNESCASBNEXT:……程序運(yùn)行到NEXT時(shí)CX=ZF=32.已知AX=0FFFFH,DX=0001HMOVCX,2LOP:SHLAX,1RCLDX,1LOOPLOP上述程序段執(zhí)行后,DX=AX=33.已知DX=0A476H,CX=0302H,CF=1 ORDX,DX RCRDX,CL XCHGCH,CL RCLDX,CL上述程序段執(zhí)行后,DX=CF=34.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分)36.下面程序執(zhí)行后,AL的內(nèi)容為ARRAY數(shù)組中的最小數(shù),請(qǐng)?jiān)诳瞻滋幐魈钌弦粭l指令。ARRAYDB3,5,-3,-2,4,5,-8,6 ┇MOVCX,7MOVDI,0MOVAL,ARRAYA1: INCDI①

JLEA2MOVAL,ARRAY[DI]A2:②

37.下面程序段是判斷兩個(gè)存儲(chǔ)單元是否同為正數(shù),如是,則AX置全0,否則AX置非0。試在空白處各填上適當(dāng)?shù)囊粭l條件轉(zhuǎn)移指令(兩空白處要利用不同的標(biāo)志位選用不同的條件轉(zhuǎn)移指令)。VAR1DW××××VAR2DW××××┇MOVAX,VAR1MOVBX,VAR2XORAX,BX

TESTBX,8000H ②

MOVAX,0NEXT:……六、編程序(本大題共3小題,共22分)38.編一程序段將BUF字節(jié)單元中的數(shù)折成高低四位,并且將分離出的高四位和低四位分別放于BUF+1和BUF+2字節(jié)單元的低四位上。(5分)39.編寫一子程序,將AL中一位十六進(jìn)制數(shù)轉(zhuǎn)移為對(duì)應(yīng)的ASCII碼并用2號(hào)DOS功能調(diào)用顯示出來,輸入?yún)?shù):被轉(zhuǎn)換的十六進(jìn)制數(shù)已在AL中。(5分) 40.在數(shù)據(jù)段中,WEEK是星期一~星期日的英語縮寫,DAY單元中有數(shù)1~7(1表示星期一,7表示星期日):WEEKDBˋMONˊ,ˋTUEˊ,ˋWEDˊ,ˋTHUˊ,ˋFRIˊ,ˋSATˊ,ˋSUNˊ DAYDBX ;數(shù)字1~7試編寫一源程序,根據(jù)DAY的內(nèi)容用單個(gè)字符顯示功能調(diào)用(2號(hào)功能)去顯示對(duì)應(yīng)的英文縮寫。(12分)匯編語言試卷

一、單項(xiàng)選擇題(每小題1分,共16分)

1.用DEBUG調(diào)試匯編語言程序時(shí),顯示某指令的地址是2F80:F400,此時(shí)段寄存器CS的值是()。A)F400HB)2F80HC)F4000HD)2F800H2.設(shè)DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,執(zhí)行MOVAX,[1000H]則AX=()。A)8000HB)0080HC)2080HD)8020H3.下列四條指令中錯(cuò)誤的是()。A)MOVAX,[SI]B)MOVAX,[DI]C)MOVAX,[SI+DI]D)MOVAX,[SI-DI]4.下列四條指令執(zhí)行后不影響標(biāo)志位的是()。A)JNCNEXTB)CMPAX,BXC)SHLAX,1D)ORAL,AL5.已知AX=0001H,下列四條指令執(zhí)行后,不能使ZF=1的語句是()。A)DECAXB)SUBAX,1C)ANDAX,1D)CMPAX,16.在8086/8088系統(tǒng)中,約定用于形成堆棧段數(shù)據(jù)物理地址的寄存器有()。A)SS,SP,BPB)SS,SP,BXC)DS,BX,BPD)DS,SP,BP7.有指令MOVAX,1234H,指令中的立即數(shù)1234H是存儲(chǔ)在()。A)數(shù)據(jù)段B)代碼段C)附加段D)堆棧段

8.要在程序中定義緩沖區(qū)BUF,保留9個(gè)字節(jié)存儲(chǔ)空間的語句是()。A)BUFDW9B)BUFDB99.已知AL=56H,BL=34H,都是壓縮BCD碼,要執(zhí)行二數(shù)相加,正確的指令是()。A)ADDAL,BLB)ADCAL,BLC)ADDBL,ALD)ADCBL,ALDAADAADAADAA10.在執(zhí)行子程序段內(nèi)調(diào)用CALLSUBR指令后,SP的值()。A)加1B)減1C)加2D)減211.完成將AX清零,并且使CF清零,下面錯(cuò)誤的指令是()。A)SUBAX,AXB)ANDAX,0C)XORAX,AXD)MOVAX,012.定義宏指令的偽指令是()。A)PROC和ENDPB)CODE和ENDSC)EQU和ENDD)MACRO和ENDM13.在匯編語言源程序中,表達(dá)式的計(jì)算是由()完成的。A)編程者B)匯編程序C)程序執(zhí)行時(shí)D)連接程序14.為了使執(zhí)行串操作指令時(shí),地址按減量方式處理應(yīng)使用指令()。A)CLIB)STIC)CLDD)STD15.有數(shù)據(jù)定義NUMDB'12345',經(jīng)匯編后,NUM占有()字節(jié)存儲(chǔ)單元。A)1B)5C)6D)716.匯編語言源程序每個(gè)語句可以由四項(xiàng)組成,如語句要完成一定功能,那么該語句中不可省略的項(xiàng)是()。A)名字項(xiàng)B)操作項(xiàng)C)操作數(shù)項(xiàng)D)注釋項(xiàng)二、填空題(每空1分,共16分)

1.在8086/8088系統(tǒng)中,存儲(chǔ)器是分段的,每段最大長(zhǎng)度是_____字節(jié),段內(nèi)偏移地址從_____到_____。2.在程序調(diào)試時(shí),顯示某指令存放地址是2340:0056,則物理地址是_______。3.匯編語言源程序中的語句有三種類型,它們是_______語句,_______語句和_______語句。4.指令MOVAX,[BX+SI+10H]源操作數(shù)尋址方式是_______。5.執(zhí)行段間返回指令RET時(shí),將棧頂?shù)囊粋€(gè)字彈出到_______后,又彈出一個(gè)字到_______寄存器中。6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,執(zhí)行NEGWORDPTR[DI]后,(31200H)=_______,(31201H)=_______。7.執(zhí)行下列指令序列MOVAL,80HMOVBL,08HCBWIDIVBL則AH=_______AL=_______。8.已知數(shù)據(jù)定義語句ORG120HVECT1DW200HVECT2DWVECT1執(zhí)行MOVAX,VECT1AX=_______MOVBX,VECT2BX=_______。三、簡(jiǎn)答題(每小題4分,共12分)1.在8086/8088系統(tǒng)中,存儲(chǔ)器是分段組織的,按各段實(shí)際長(zhǎng)度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,問題:(1)數(shù)據(jù)段起始地址是多少(2)計(jì)算數(shù)據(jù)段中最多可以存放多少個(gè)字節(jié)數(shù)據(jù)(要有具體計(jì)算式)(3)代碼段最多可以存放多少個(gè)字節(jié)程序代碼?說明理由。2.已知數(shù)據(jù)段定義如下:DATASEGMENTRG100HBUFDW'CD',1,3DUP(4,2DUP(8,6))VRADB4AH...DATAENDS單獨(dú)執(zhí)行下列語句LEABX,BUFBX=_______MOVCX,VRA-BUFCX=_______(用十六進(jìn)制數(shù)表示)。3.分別說明下列兩組指令中兩條指令操作的相同點(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,39H...MOVDI,OFFSETBUFMOVCX,5MOVAL,‘a(chǎn)'CLDREPSTOSB該程序段執(zhí)行后,BUF中的內(nèi)容是_______,方向標(biāo)志DF=_______4.假設(shè)寄存器AX=5AH,CX=23H...MOVDL,0LOP:SUBAX,CXJCNEXTINCDLJMPSHORTLOPNEXT:ADDAX,CXHLT上述程序段執(zhí)行后,AX=_______,DL=_______;用數(shù)學(xué)表達(dá)式指明程序功能:_______五、程序填空題(每小題6分,共12分,每空格只能填一條指令)1.下列程序段求數(shù)組FLD的平均值,結(jié)果在AL中。請(qǐng)將程序填寫完整(不考慮溢出)FLDDW10,-20,30,-60,-71,80,79,56_______MOVCX,8XORAX,AXR1:_______ADDSI,2LOOPR1MOVCL,8IDIVCLHLT2.已知數(shù)據(jù)段DAT單元存放某一數(shù)N(-6≦N≦6)下面的程序段用查表法求數(shù)N的平方值,結(jié)果送SQR單元,請(qǐng)將程序填寫完整。TABLEDB0,1,4,9,16,25DATDBNSQRDB?LEABX,TABLEMOVAL,DAT_______JGENEXT_______NEXT:XLATHLT六、程序設(shè)計(jì)題(第1小題6分,第2小題14分,共20分)1.假設(shè)DATAX和DATAX+2單元存放雙字P,DATAY和DATAY+2單元中存放雙字Q,編程計(jì)算2P-Q,差在DX,AX中。若OF=1,程序轉(zhuǎn)OVERFLOW,否則轉(zhuǎn)NOOVER。(只寫與試題要求有關(guān)的指令語句)2.已知在數(shù)據(jù)區(qū)BUF1和BUF2分別存放20個(gè)字節(jié)數(shù)據(jù)。編程檢查兩數(shù)據(jù)區(qū)中的數(shù)據(jù)是否相同。若完全一致,則將標(biāo)志單元FLAG置FFH,否則置0,并將第一次出現(xiàn)的不同數(shù)據(jù)的地址分別存放在ADDR1和ADDR2單元中。要求:源程序格式完整。課堂練習(xí)1.把2個(gè)非壓縮BCD碼組合為1個(gè)壓縮BCD碼,并存入DA3中。DA1DBXX;高位非壓縮BCD碼DA2DBXX;低位非壓縮BCD碼DA3D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論