您好,欢迎访问三七文档
一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每题2分,共36分)1.执行指令MOVAL,[BP]时,所读取的数据应在()A.代码段中B.数据段中C.堆栈段中D.附加数据段中2.执行如下程序:MOVAX,0MOVBX,1MOVCX,100A:ADDAX,BXINCBXLOOPA执行后BX中的内容为()。A.99B.100C.101D.1023..将AX中有符号数除以4的正确指令序列是()。A.SHRAX,1B.SARAX,1C.IDIV4D.DIV4SHRAX,1SARAX,14.使8086/88的标志寄存器F中的中断标志IF置为关中断的命令是()A.CLIB.STDC.STID.CLD5.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()A.ADDBH,01HB.ORBH,01HC.XORBH,01HD.TESTBH,01H6.数据段定义如下:DatasegmentsV1DB4DUP(2),1COUNTEQU10V2DDCOUNTDUP(?)Dataends则该数据段在内存中所占的存储字节数目是()A.9B.45C.46D.107.在下列程序执行后,AL寄存器的值为()。A1DB5DUP(2DUP(2,0,1),3)MOVAL,A1+6A.2;B.3;C.0;D.18.对于下列程序段:AGAIN:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPAGAIN也可用()指令完成同样的功能。A.REPMOVSBB.REPLODSBC.REPSTOSBD.REPESCASB9.若汇编语言源程序中段的定位类型设定为PARA,则该程序目标代码在内存中的段起始地址应满足什么条件?()A.可以从任意地址开始B.必须是偶地址C.必须能被16整除D.必须能被256整除210.指令MOVBYTEPTR〔BX+SI〕,0中目的操作数的寻址方式是()。A.立即寻址B.寄存器寻址C.寄存器间接寻址D.基址变址寻址11.已知SP=12EH,执行段间返回指令RET后,SP的值是()。A.12AHB.12CHC.130HD.132H12.在汇编语言程序中,对END语句的叙述正确的是()。A.END语句是一可执行语句B.END语句表示程序执行到此结束C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码13.已知CS=2300H,DS=2400H,执行下列指令序列PUSHCS,POPDS后,CS和DS值是().A.CS=0DS=2300HB.CS=2400HDS=2300HC.CS=2400HDS=2400HD.CS=2300HDS=2300H14.以寄存器DI间接寻址的存储器字节单元内容加1的指令是()。A.INC〔DI〕B.INCDIC.INCBYTEPTR〔DI〕D.ADD〔DI〕,115.有指令MOVAX,1234H,指令中的立即数1234H是存储在()A.数据段B.代码段C.附加段D.堆栈段16.设数据段中已有:DA1DB12H,34HDA2DW56H,78H下面有语法错误的语句是()。A.ADR1DWDA1B.MOVDA1+1,AXC.MOVBYTEPTRDA2+1,ALD.MOVWORDPTRDA1+1,AX17.IBMPC微机中,有符号数是用()表示的A.原码B.补码C.反码D.BCD码18.把汇编源程序变成代码程序的过程是()A.编译B.汇编C.编辑D.链接二、填空题(每空1分,共14分)1、请用一条指令实现如下操作:(1)将AX中划‘X’的位清015540┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓┃┃┃┃┃┃┃┃┃┃┃X┃X┃┃┃┃┃指令:__【1】┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛(2)寄存器AX的低四位取反:____【2】_____________2.已知X1DW0ABCDH,若要将X1用DB定义,原来数据区中的内容保持不变,则X1DB____【3】________,___【4】_________.3.已知BX=1000H,执行:MOVAX,BXNEGAXADDBX,AX则程序执行后,AX=___【5】___,BX=____【6】,CF=___【7】____。4.已知DS=2000H,CS=4000H,SI=1000H,(21000H)=78H,(21001H)=01H,(21002H)=00H,(21003H)=12H则下面两条无条件转移指令转移目标的物理地址分别是【8】,和____【9】____。JMPWORDPTR[SI]JMPDWORDPTR[SI]35.假设程序中的数据定义如下:FLD1DB10DUP(?)FLD2DW100H,200H,300HFLD3DB4,5,7,9按要求写出合适的指令,每小题只能写一条指令。(1)将FLD2的第4个字节送入AL。【10】。(2)用伪指令写出FLD1和FLD2两者总字节数COUNT。【11】6.调用程序与子程序之间的参数传递方法有四种,即堆栈法、(【12】)、(【13】)和(【14】)。三、程序分析(共30分)1.(4分,每空2分)MOVDL,ALNOTDLTESTDL,04HJENEXT┇NEXT:…若上述程序段执行时产生分支,说明AL中的数第【1】位一定为1?程序段执行后CF是【2】。2.(2分)己知宏指令为:SHIFTMACRORR,COUNTMOVAX,COUNTIFRRLE64MOVCL,3SHRAX,CLIFRRLT16MOVCL,6ENDIFENDIFENDM宏调用为:SHIFT15,7FFFH写出宏扩展后的等效源程序段。【3】3.(6分,每空2分)执行下列程序段后ORG1221HNUMDW12H┇MOVBX,OFFSETNUMMOVCL,BYTEPTRNUM+1MOVCH,TYPENUMMOVAX,NUM请问:(AX)=_【4】_____,(BX)=__【5】____,(CX)=_【6】_____。4.(6分,每空2分)现有一子程序:SUB1PROCTESTAL,80H4JEPLUSTESTBL,80HJNEEXITOJMPXCHANGEPLUS:TESTBL,80HJEEXITOXCHANGE:XCHGAL,BLEXITO:RETSUB1ENDP试回答:(1)子程序的功能是【7】?(2)若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=__【8】____,BL=__【9】____。5.(6分,每空2分)UPDAT为中断处理子程序,若中断分别发生在主程序的T1、T2、和T3处,则主程序执行完后AX的值分别为_【10】____、_【11】____和_【12】____mainprocfar┇MOVAX,5ORAX,AX(T1)--JSL1(T2)--JNSL2(T3)--INCAXJMPL2L1:DECAXL2:CLI┇retmainendp6.DA1DB‘ABCDEFGHI’DA2DB9DUP(0)┇LEASI,DA1LEADI,DA2MOVCX,9CLDLOP:LODSBSUBAL,10HSTOSBLOOPLOP┇程序执行后DA2各字节中的数据是【13】___。7.DA1DB83H,72H,61H,94H,5AH┇MOVCX,WORDPTRDA1UPDATPROCFARPUSHAXPUSHBPMOVBP,SPMOVDX,8[BP]ORDX,0080HMOV[BP+8],DXPOPBPPOPAXIRETUPDATENDP5ANDCX,0FHMOVAL,DA1+3SHLAL,CL上述指令序列执行后,AL=___【14】____,CL=____【15】___。四、程序填空(每空2分,共20分)1.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。STRINGDB‘COMPUTER’,‘$’┇MOVBX,0FFSETSTRINGLOP:MOVDL,[BX]MOVAH,02HINT21H___【1】___【2】___JNELOP2.在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字符串,以0DH为结束标志,试求串长度并送字变量COUNT中。LEASI,STR_【3】XORCX,CXGOON:CMPAL,[SI]_【4】INCCX_【5】JMPGOONNEXT:MOVCOUNT,CX3.程序功能:接收键盘上输入的一位十进制数,并显示该十进制数的二进制形式。下面给出程序的一部分,在括号内填写适当的汇编指令,将程序补充完整。csegsegmentassumecs:cseg,ds:csegstart:movah,1int21hsubal,30hmovb1,a1movd1,0dh【6】int21hmovd1,0ahmovah,2int21h【7】next:sh1b1,1jcout16movd1,30hjmpputout1:【8】put:movah,2int21hloopnextmovah,4chint21hcsegendsendstart4.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。┇MOVAX,NUMW【9】XORDX,DXDIVBXMOVQUI,AX【10】7参考答案一、选择题(36分,每题2分)1.C2.C3.B4.A5.B6.B7.B8.A9.C10.D11.D12.C13.D14.C15.B16.B17.B18.B二、填空题(共14分)【1】.andax,0ffcfh【2】.xorax,000fh【3】.0cdh【4】.0abh【5】.0f000h【6】.0【7】.1【8】.40178h【9】.12178h【10】.moval,byteptrfld2+3【11】.countequ$-fld1【12】.地址参数表法【13】.寄存器法【14】.直接访问公共数据法三、程序分析(共30分)【1】2(0-7位)或3(1-8位)【2】0【3】movax,7fffhMovcl,3Shrax,clMovcl,6【4】12h【5】1221h【6】200h【7】当al,bl异号时,交换al,bl的值【8】77h【9】9ah【10】6【11】6【12】5【13】’123456789’【14】0a0h【15】03h四、程序填空题(共20分,每空2分)【1】incbx【2】cmp[bx],’$’【3】moval,0dh【4】je/jznext【5】incsi8【6】movah,2【7】movcx,8【8】movdl,31h【9】movbx,500【10】movrem,dx
本文标题:汇编语言试题
链接地址:https://www.777doc.com/doc-2331701 .html