汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B)。A.汇编程序B.连接程序C.机器语言程序D.源代码程序2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是(C)。A..SS和SPB.DS和DIC.CS和IPD.ES和SI3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C)。A.物理地址B.逻辑地址C.端口地址D.段地址4.MOVAX,3064H,该指令中源操作数采用的寻址方式是(A)。A.立即B.直接C.寄存器相对D.寄存器间接5.换码指令的助记符是(C)。A.XCHGB.LEASC.XLATD.MOV6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是(JGE)。7.下列符号中,可用作标识符的是(C)。A.MOVB.AXC.MSG1D.1ABC8.XDB10HDUP(1,2)内存变量定义语句拥有了(A)个字节的存储空间。A.20DB.10DC.20HD.10H9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将(C)。A.不变B.减1C.加1D.无法确定10.如下指令可将AX寄存器内容改变的是(A)。A.ANDAX,BXB.TESTAX,BXC.CMPAX,BXD.XCHGAX,AX11.16位CPU支持的I/O地址范围是(D)。A.0~0FFFFFHB.0~0FFFFHC.0~0FFFHD.0~0FFH12.MULCL指令实现的功能是(A)。A.无符号乘法:AXAL×CLB.有符号乘法:AXAL×CLC.无符号乘法:DXAL×CLD.有符号乘法:DXAL×CL13.DOS系统功能调用(INT21H)中,显示字符串的功能号是(D)。A.01HB.02HC.08HD.09H14.在16位CPU读取指令时,需要用到的寄存器对是(C)。A.SS和SPB.DS和DIC.CS和IPD.ES和SI15.下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B)。A.MOVAX,23HB.MOVAX,[BX+SI]C.SUBAX,[BX]D.ADDAX,BX16.有内存变量定义语句:VARDW10DUP(1,2),1234H,VAR的属性TYPE、LENGTH和SIZE的值分别是(D)。A.1,20,20B.2,20,40C.2,22,44D.2,10,2017、在下列语句中,AGAIN称为(C)。AGAIN:INCSIA.指令B.寄存器C.标号D.变量18、十六进制数88H,可表示成下面几种形式,请找出错误的表示(A)。A.8位二进制数-8的补码B.带符号十进制数-120C.压缩型BCD码十进制数88D.表示无符号十进制数13619、将AL中的最低4位置为0而不改变其他位的正确指令是(B)。A.ORAL,0F0HB.ANDAL,0F0HC.ORAL,0FHD.ANDAL,0FH20、某内存单元的物理地址为297E0H其对应的逻辑地址表示错误的是(C)。A.296EH:100HB.295EH:200HC.287EH:100HD.297EH:0H21、与二进制数00011011等值的十进制数为(B)。A.26B.27C.28D.3022、表达式“12HXOR78H”的值是(C)。A.3AHB.80HC.6AHD.90H23、某内存单元的逻辑地址为296EH:100H,其对应的物理地址是(A)。A.297E0HB.2A6EHC.297F0HD.296E0H24、16位微机分段管理存储空间,但每段容量最大不超过(C)。A.8KB.16KC.64KD.1M25、下列操作数的寻址方式正确的是(D)。A.[AX]B.[SI+DI]C.BX+90D.BX26汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B)。A、EXEB、OBJC、ASMD、LST27在程序执行过程中,IP寄存器始终保存的是(C)。A、上一条指令的首地址B、本条指令的首地址。C、下一条指令的首地址D、需计算有效地址后才能确定地址。28设DS=1000H,ES=2000H,BX=3000H,指令ADDAL,[BX]的源操作数的物理址为(A)。A、13000HB、23000HC、33000HD、3000H29、汇编语言属于(D)。A、用户软件B、系统软件C、高级语言D、机器语言30、当使用BP作编程地址时,此时使用的是(D)段。A、CSB、DSC、ESD、SS31、汇编语言源程序是(A)程序。A.不可直接执行的B.经连接后就可直接执行的C.经汇编程序汇编后就可执行的D.可直接执行的32、8086/8088CPU的寄存器组中,16位的寄存器共有(D)个。A.10B.12C.14D.1633、设BX=2000H,SI=3000H,指令MOVAX,[BX+SI+8]的源操作有效地址为(B)。A、5000HB、5008HC、23008HD、32008H34、伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。A、DEBUGB、LINKC、MASMD、EDIT35、已知CALLBX执行前SP=100H,执行后SP的内容为。(C)A、100HB、102HC、98HD、0FEH36、若定义“AEQU100”,执行“MOVAX,A”后,AX=(C)。A、A的偏移地址B、A单元中的内容C、100D、A的段地址37、一个段最大可定义(B)字节。A、1MB、64KC、32KD、16K38、设A和B为字变量,C为标号,下列指令中不正确的是(C)。A、MOVAX,AB、MOVAX,BC、JNEAD、JMPC39、下述指令中不影响CF的指令是(B)。A、SHLAL,1B、INCCXC、ADD[BX],ALD、SUBAX,BX40、两个整数补码9CH和7AH相加运算后,会产生(C)。A、无溢出且无进位B、无溢出但有进位C、有溢出且有进位D、有溢出但无进位41、指令JMPWORDPTR[BX]属于(A)寻址。A、段内直接B、段内间接C、段间直接D、段间间接42、指令MOVAX,[BX+SI+8]的源操作数属于(D)寻址。A、直接B、寄存器相对C、基址变址D、相对基址变址43、指令(A)不改变CF的内容。A、DECALB、ADDAX,CXC、SUB[BX],CLD、SBBAL,DL44、十进制数字74所对应的压缩型BCD码的形式是(B)。A、74B、74HC、4AHD、4A45、十进制数字85所对应的非压缩型BCD码的形式是(D)。A、0085B、0085HC、0805D、0805H46、设AL=67H,执行“CMPAL,76H”后,AL=(C)。A、76HB、0DFHC、67HD、00二、判断题MOVAL,BX(错)MOVDS,SS(错)MOV[BX],[DI](错)POPCS(对)MOVDS,5678H(错)ADD1234H,CX(错)CLD(对)SHLBX,AL(错)MULDX(对)LEAAX,[BX+DI](对)ADDDS,5678H(对)STC(对)CMP234H,CX(错)MULDX,10H(错)LEAAX,[BX+DI](对)XCHGES,AX(对)POPAL(错)SUBAL,SI(错)MOVDS,SS(错)SALDX,AL(错)MOVAX,BL(错)MUL25(错)SHRBX,CH(错)PUSHCS(对)LEAAX,[BX+SI](对)三、简答题1、标志寄存器共有那些标志位?答:有运算结果标志位和状态控制标志位两大类,其中运算结果标志位有进位标志位CF、奇偶标志PF、辅助进位标志AF、零标志ZF、符号标志SF、溢出标志OF。状态控制标志位有方向标志DF、中断允许标志IF、陷阱标志TF。2.标号和变量所具有哪三种属性?答:段属性、偏移量属性、类型属性。3、写出16位CPU的段寄存器的助记符和中文名称。答:CS------代码段寄存器DS------数据段寄存器ES------附加段寄存器SS------堆栈段寄存器4、指出下列指令源操作数(第二操作数)的寻址方式。(1)MOVAX,1000[BX][DI]基址变址相对寻址(2)MOVBX,[1000H]直接寻址(3)ADDSI,AX寄存器寻址(4)MOVAX,100立即数寻址(5)MOVAX,[SI]寄存器间接寻址5、在8088/8086的寻址方式中,与数据有关的寻址方式分为哪七种寻址方式?答:立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、基址变址寻址、基址变址相对寻址。6、已知DS=1000H,BX=100H,SI=2,存储单元[11200H]~[11203H]依次存放(十六进制)12、34、56、78,说明下列每条指令执行完后AX寄存器的内容。(1)MOVAX,[1200H]3412H(2)MOVAX,[BX+1101H]5634H(3)MOVAX,[BX+SI+1100H]7856H7、编写将字节数据70h输出到端口地址为220H的指令序列。解MOVDX,220HMOVAL,70HOUTDX,AL8、按要求写出下列相应的内存变量定义语句。(1)定义一个字节区域,第一个字节的值为10,其后跟100个初值为0的连续字节。解:DB10,100DUP(0)(2)先定义一个字符串STRING,其偏移量指定为10,其初值为“abcdef”,然后再定义5个字类型的数组ARRAY,要求STRING和ARRAY偏移量相同。解:ORG10STRINGDB‘abcdef’ORG10ARRAYDW5DUP(?)(3)定义一个以-1为结束符的字符串,该串中含有换行符和回车符。解:db0dh,0ah,’-1’(4)从偶地址开始定义20个字,其初值为1。解:EVENDW20DUP(1)(5)定义100个字,其初值为0。解:DW100DUP(0)9、设数据段定义如下:DATASEGMENTV1DW1234h,3456hV2DB‘ab’V3=$+5V4DB10DUP(?)V5DWv4DATAENDS请回答:(1)该数据段占用的内存有多少字节?(18D)(2)v3的值为多少?(11D)(3)执行“MOVAX,v5”指令后,AX值为多少?(6H)(4)执行“MOVAL,BYTEPTRv2”指令后,AL值为多少?(a)10、设数据段定义如下:DATASEGMENTv1DB0ah,0c4hv2DW1,2,3v3DB4,100DUP(?)v4DB‘ABCDE’v5DWv3v6EQU$-v3DATAENDS请回答:(1)该数据段占用的内存有多少字节?(116D)(2)v5单元中的值是多少?(8H)(3)v6的值是多少?(108D)(4)执行“MOVAL,v4+2”指令后,AL的值是多少?。(C)11、下列数值在内存中连续存储,试画出其在内存的存储形式。(1)字节:7,8,‘1’、‘a’、‘A’和-1(2)字:12H、0AB56H和-1,0(3)双字:-765H、56789256H和0,-1解:它们的内存示意图如下:(注:此题中的内存物理地址可以自己任意指定,只要连续即可)0708316141FF120056ABFFFF000012340H12341H12342H11200H11201H11202H第(1)题第(2)题12下列操作可使用哪些寄存器?(1)加法和减法。(AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,SI,DI)(2)循环计数。(CX,CL)(3)乘法和除法。(BX,CX,AH,BL,BH,CL,CH,DL,DH)(4)指示程序已执行到哪条指令的地址。(CS,IP)(5)指示当前从堆栈中弹出数据的地址。(SP)(6)表示运算结果为零。(ZF)13、按要求编写指令序列。(1)将立即数1234H与BX指示存储单元偏移地址的内容相加。ADD[BX],1234H(2)将AX寄存器中的高字节和低字节