川农汇编语言题库及部分答案解析_第1页
川农汇编语言题库及部分答案解析_第2页
川农汇编语言题库及部分答案解析_第3页
川农汇编语言题库及部分答案解析_第4页
川农汇编语言题库及部分答案解析_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

123456789111112452643696、单项选择题、在下列的选项中,能够组成计算机系统的是(A)。A.硬件系统和软件系统 B.CPU、存储器、输入/输出设备C.操作系统、各种语言 D.系统软件和应用软件、汇编语言属于(B)。A.用户软件B.系统软件C.高级语言D.机器语言、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是( B)。EXEB.OBJC.ASMD.LST、汇编语言的什么文件经链接(LINK)后产生可执行文件?(D)ASMB.EXEC.LSTD.OBJ、中央处理器CPU是由(D)组成的。A•运算器 B•控制器 C•寄存器组D•前三者、IBMPC机的DOS是属于(B)。用户软件E.系统软件C.系统硬件D.一种语言、汇编语言源程序是(A)程序。A.不可直接执行的A.不可直接执行的E.可直接执行的C.经汇编程序汇编后就可执行的C.经汇编程序汇编后就可执行的D.经连接后就可直接执行的、8086/8088CPU、8086/8088CPU的寄存器组中,8位的寄存器共有(C)个。A.46C.8A.46C.8D.10、8086/8088CPU的寄存器组中,16位的寄存器共有(、8086/8088CPU的寄存器组中,16位的寄存器共有(D)个。A.10 B.1C.13D.140、0、8086/8088CPU执行算术运算时PSW共有(C)个标志位会受影响。A.4567A.45671、在程序执行过程中,IP1、在程序执行过程中,IP寄存器始终保存的是(B)。A.上一条指令的首地址 B.本条指令的首地址。下一条指令的首地址 D.需计算有效地址后才能确定地址。2、 IBMPC机的存储器可分(D)个段。A.4 B.256 C.512D.655363、 当使用BP作编程地址时,此时使用的是(D)段。A.CSB.DSC.ESD.SS4、 如果指令的运算结果为0,则( C)标志位为1。

A.SFOFZFCFA.SFOFZFCF15、 如果指令的运算结果中有奇数个1,则( A)标志位为0。A.PFB.CFC.OFD.SF16、 IBMPC机的内存是按(B)是编址的。A.位 B.字节 C.字 D.双字17、 存储器的一个字节表示(A)位。TOC\o"1-5"\h\zA.8 B.16 C.32 D.6418、 如果某个字变量的数据存放在奇地址单元,则 8086/8088CPU读写该变量时需要(B)个读写周期。A.1 B.2 C.3 D.419、 在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是 (B)地址。A.逻辑B.物理C.有效D.相对20、 一个16位相对位移的范围是( C)。A.0~65535 B.0000H~FFFFHC.8000H~7FFFH D.8000H~FFFFH21、 物理地址的形成过程是将段地址左移( C)位加偏移地址。A.2 B.3 C.4 D.522、 如果某一存储单元的逻辑地址为 236FH:1000H。则物理地址为(D)。A.1236FH B.336FH C.336F0H D.246F0H23、如果内存的某一单元的物理地址为 12345H。则它的逻辑地址为(C):0345H。A.0012H B.12000H C.1200H D.0120H24、如果一个字变量中存放16个字,该字变量的起始地址为1000H:2000H,则该字变量数据区中的最末一个字单元的物理地址为(C)。A.1201FHB.12000HC.1201EHD.12020H5、设22000H、22001H单元分别存放的数据为12H、34H,若要读取22000H字单元中的数据,此时读出的数据是(C)。A.12HB.34HC.3412HD.1234H26、如果数据存放在 DI的内容为偏移地址的数据段中,设 DS=3624H,DI=2200H,则此存储单元的物理地址为(A)。A.38440HB.58240HC.25624HD.58240H27、一般的外部设备接口电路中的状态寄存器是用来存放外设或接口电路的( C)信息。

A.数据E.控制C.状态D.前三者28、下列叙述正确的是(B)。A.不同类型的机器字长是一样的—个字节有8位二进制数各种不同的机器指令系统都是一样的机器指令都是8位的29、下列叙述正确的是(D)。A.8088CPU的内部数据总线是8位的,外部数据总线是8位的E.8088CPU的内部数据总线是16位的,外部数据总线是16位的C.8086CPU的内部数据总线是8位的,外部数据总线是8位的D.8086CPU的内部数据总线是16位的,外部数据总线是16位的30、下列叙述正确的是(A)。A.机器指令是可执行指令汇编语言源程序可直接执行汇编语言目标程序可直接执行高级语言程序可直接执行、多项选择题1、 中央处理器CPU是由(ABC)组成的。A•运算器 B•控制器 C•寄存器组D•存储器TOC\o"1-5"\h\z2、 下列寄存器中属于段寄存器的有( CD)。A.SI B.DI C.SS D.ES3、 下列属于系统软件的有( ABCD)。A.操作系统B.汇编语言 C.高级语言D.编译程序4、 下列的16位寄存器中能够用2个8位寄存器来表示的有(BD)。A.SI B.AX C.BP D.BX5、 逻辑地址是由(AC)组成的。A.段地址 B.物理地址 C.偏移地址 D.实际地址6、 在下列标志位中,不能根据运算结果置位 /复位的标志位有(AC)。A.IF B.PF C.TF D.OF7、 在下列的标志位中,够能根据运算结果置位 /复位的标志位有(ABC)。A.ZFBA.ZFB.PFC.DFD.SF88、在下列的逻辑地址中,用来表示同一个物理地址 3240AH的有(ACD)。88、在下列的逻辑地址中,用来表示同一个物理地址 3240AH的有(ACD)。A.3040H:200AHB.240AH:3000HC.3200H:040AHD.3000H:A.3040H:200AHB.240AH:3000HC.3200H:040AHD.3000H:240AH9、在下列文件中,能够在计算机上直接运行的有(ACA.EXE文件B.COM文件C.OBJ文件D.BAT文件10、在外部设备接口电路中,一般有(ABD)。A.数据寄存器 B.状态寄存器C.标志寄存器D.控制寄存器三、填空题1、中央处理器CPU1、中央处理器CPU包括运算器,__控制器和内部可编程的存器组2、计算机的硬件系统包括 CPU2、计算机的硬件系统包括 CPU存储器和输入/输出子系统三个主要组成部分。3、 汇编语言是属于_系统 软件。4、 汇编语言源程序必须经过 汇编程序汇编—后再—连接 才能产生__可执行(EXE) 文件。5、 装入程序的作用是把要执行的 程序 和库文件或其它已翻译过的 子程序 连接在一起形成机器能__执行 的程序。6、 装入程序的作用是将程序从 —外存储器 传送到—内存 。7、 在PC机中,一些简单的汇编语言可以通过 _调试程序 来建立、修改和执行。8、 操作系统是属于 系统 软件。9、 调试程序是属于 系统 软件。10、 用汇编语言编写的图像显示软件属于 用户(应用)软件。11、 8086/8088CPU的地址有_20 位。可寻址的内存地址空间是 1MB12、 8086/8088CPU有_4_个段寄存器。13、 在读取下一条指令时, ___CS 中的内容为作为该指令的段地址,__IP__中的内容作为该指令的偏移地址。14、 当两个无符号数的字节相加时,其结果超过 _255 时就将CF置1。15、 当两个有符号数的字节相加时,其结果超过 _+127〜-128 时就将OF置16、 若运算的结果为负数,贝U SF为1 。17、 IBMPC机的存储器是按_字节 编址的。18、 若某双字变量中存放两个数据,它占用_8 个存储单元。19、 在8086/8088CPU的微机中,CPU访问奇地址字单元需_2 个内存读写周期,访问偶地址字单元需 1—个内存读写周期。20、IBMPC机的存储器按段划分,每个段的大小可在 _64KB 范围内选取任意个_字节—数。21、IBMPC机的1MB内存空间最多可分为 64K_个段。22、逻辑地址是由_段地址 和_偏移地址 组成的,它可以形成20位的物理地址。23、形成内存物理地址的过程是将 —段地址 左移_4 位加—偏移地TOC\o"1-5"\h\z址 。24、某微机的字长为32位,一个字需占用内存—4 个字节单元。25、若某存储单元的逻辑地址为 1200H:3400H,则该存储单元的物理地址为_15400H 。26、IBMPC机可寻址的I/O端口地址有_64K ,共使用_16 条地址线。7、若要将字1234H存放在以10000H开始的存储单元之中,则10000H=_34H ,10001H=_ 12H 。8、若要将双字12345678H存放在20000H开始的存储单元之中,则20002H= 34H_。9、外设与接口电路中的控制寄存器中的内容是由 _CPU 送来的。0、外设与主机传递信息是通过外设接口电路实现的。一般的接口电路中有 —数据寄存器 、—控制寄存器 和—状态寄存器 三种不同类型的寄存器。31、压缩型BCD码一个字节能表示—2 位十进制数,非压缩型BCD码一个字节能表示—1—位十进制数。32、辅助进位位AF主要是用于对—十进制 数据进行算术的调整。四、简答题1、 IBMPC微型计算机一般采用什么总线结构形式?这种总线结构将那几个主要部件连接在一起构成微型计算机的硬件系统?2、 8086/8088CPU为什么只能寻址1MB的内存空间?3、 IBMPC机的存储器为什么要分段?怎样采用分段寻址?4、一个8位数能表示的最大值和最小值是多少?一个16位数能表示的最大值和最小值是多少?5、 如何实现ASCII码数字字符与BCD码之间的相互转换?6、 简述存储器的逻辑地址、物理地址和有效地址。7、 堆栈操作的原则是什么?堆栈操作的过程是怎样进行的?8、 在8086/8088 系统中,内存的逻辑地址是由哪两部分组成的?9、 下列操作可使用哪些寄存器?(1)加法和减法。(2)循环计数。(3)乘法和除法。(4) 指示程序已执行到哪条指令的地址。(5) 指示当前从堆栈中弹出数据的地址。(6)表示运算结果为零。11、 设SS=1200H,堆栈压入10个字节后,SP=00F6H。请指出堆栈底部字单元的物理地址,堆栈顶部字单元的物理地址。12、 设有一个30个字的数据区,它的起始地址是 2000H:3000H,请给出这个数据区的首、末字单元的物理地址。一.单项选择题.设BX=2000H ,SI=3000H,指令MOVAX,[BX+SI+8]的源操作有效地址为(B)。A.5000H B.5008H C.23008H D.32008H2.设DS=1000H ,ES=2000H ,BX=3000H,指令ADDAL,[BX]的源操作数的物理址为(A)。A.13000HB.23000HC.33000HD.3000H3.设DS=2000H ,ES=3000H,SI=200H,指令MOVES:[SI],AL的目的操作数的物理地址为(B)。A.20200HB.30200HC.50200HD.200H4.指令MOVMEM[BX],AX中的MEM是(C)。A.原码 B.反码C.补码D.移码5.用来作为寄存器间接寻址的寄存器有(D)个。A.8 B.6C.5 D.46.指令MOV[BX+SI],AL中的目的操作数使用(B)段寄存器。A.CSB.DSC.SSD.ES7.指令MOVBX,[BP+5]中的源操作数使用(C)段寄存器。A.CSB.DSC.SSD.ES8.段内间接寻址只改变B)中的内容。A.CSB.IPC.CS和IPD.PSW9.段间间接寻址只改变C)中的内容。A.CSB.IPC.CS和IPD.PSW10.下述指令中不改变PSW的指令是(A)。A.MOVAX,BXA.CSB.DSC.SSD.ES8.段内间接寻址只改变B)中的内容。A.CSB.IPC.CS和IPD.PSW9.段间间接寻址只改变C)中的内容。A.CSB.IPC.CS和IPD.PSW10.下述指令中不改变PSW的指令是(A)。A.MOVAX,BXB.ANDAL,0FHC.SHRBX,CLD.ADDAL,BL11.下述指令中不影响CF的指令是B)。A.SHLAL,1B.INCCXC.ADD[BX],ALD.SUBAX,BX12.两个整数补码9CH和7AH相加运算后,会产生(B)。A.无溢出且无进位B.无溢出但有进位C.有溢出且有进位D.有溢出但无进位13.指令JMPWORDPTR[BX]属于(B)寻址。A.段内直接B.段内间接C.段间直接D.段间间接.指令MOVAX,[BX+SI+8]的源操作数属于(D)寻址。A.直接 B.寄存器相对C.基址变址D.相对基址变址.指令(A)不改变CF的内容。A.DECAL B.ADDAX,CXC.SUB[BX],CLD.SBBAL,DL.十进制数字74所对应的压缩型BCD码的形式是(B)。A.74 B.74HC.4AHD.4A.十进制数字85所对应的非压缩型BCD码的形式是(D)。A.0085B.0085H C.0805 D.0805H.设AL=67H,执行“CMPAL,76H'后,AL=(C)。A.76H B.0DFH C.67H D.0019.设AL=65H19.设AL=65H,BL=29H,执行下列指令后,AL=(C)。ADDAL,BLDAA22.用来作为寄存器间接寻址的寄存器有( BC)。22.用来作为寄存器间接寻址的寄存器有( BC)。A.8EHB.94C.94HD.8E.压栈操作是(B)位数的操作。A.8B.16 C.32 D.任意.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则(D)。A.OF=0、CF=0 B.OF=0、CF=1C.OF=1、CF=0 D.OF=1、CF=1.设AX=3762H,CL=5,执行“SHRAX,CL”后,AX=(B)。A.0376HB.01BBHC.01BB D.0376.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用(C)SCASB串操作指令。A.REPNEB.REPC.REPED.REPNZ.如果“JNCL”指令的操作码放在0040H,转移后在0020H处取下一条指令的操作码,那么该条指令的位移量是(C)。A.20H B.1EHC.0DEHD.0E0H.如果“JAP”指令的操作码放在0050H,该指令的位移量为34H,执行完此条指令转移到取下一条指令的偏移地址为( C)A.0082HB.0084HC.0086HD.0088H.若DS=1000H ,BX=2000H ,(12000H)=56H,(12001H)=78H,AX=1000H,执行“ADDAX,[BX]”指令后,AX=(A)。A.A.8856HB.6678H C.8800H D.6600H27.设AX、BX寄存器中存放的是有符号的二进制数据,若执行令后,(D)L表示大于则转L。A.JZB.JA C.JGED.JG28.执行“DIVBX'指令后,(C)寄存器中存放商。A.ALB.AH C.AXD.DX29.执行“(A)AX,BX'指令不改变AX寄存器中的内容。A.CMPB.ADD C.XORD.OR“CMPAX,BX'指30.若AX=1000H,执行“NEGAX'指令后,AX=(C)。A.1000H B.0E000H C.0F000H D.1001H、多项选择题1.在下列寻址方式中,用来访问内存的寻址方式有(BCD)。A.寄存器寻址B.寄存器间接寻址 C.寄存器相对寻址 D.直接寻址3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有( AD)。A.MOVAX,[DI+4]B.MOVAX,ES:[SI+8]C.MOVAX,[BP+4]D.MOVAX,[BX+4]A.AXB.BXC.BPD.CX4.在下列指令中,源操作数的寻址方式是错误的有( BCD)。A.MOV AX,[DI+BX] B.MOVAX,[SI+DI]C.MOV AX,[BP+BX] D.MOVAX,[DX]•在下列指令中,属于段内转移指令的有(ABD)。A.JMPA.JMPSHORTAB.JMP [BX]C.JMP DWORDPTR[BX] DC.JMP DWORDPTR[BX] D.JMP.在下列指令中,错误的指令有( ABCD)。A.SUB 5,AL B.ADDNEARPTR[BX+SI]AL,BXC.INC[BX]C.INC[BX]D.SHRAX,6.执行“CMPAX,8003H'指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有(AB)。A.JNBL B.JAL C.JGL D.JNLL.可与串操作指令“CMPSW指令配合使用的重复前缀有(BCD)。A.REP B.REPZ C.REPNZ D.REPE9.在下列的输入/输出指令中,正确的指令有(ABD)A.IN AX,80HB.OUTDX,AXC.IN AL,340D.OUTDX,AL10.在下列的指令中,错误的指令有(ABCD)。A.PUSHALB.MOVAL,BXC.PUSH1000HD.CALLAX11.可以用下列指令代替“LOOPL”指令的有(AC)。A.DECCXB.DECCXJNZLJNCLC.DECCXD.DECCXCMPCX,0JELJEL填空题1.在一条指令中,立即数只能作—源—操作数。2.8086/8088CPU形成的内存物理地址有 20位。3.指令“MOVAX,[BX+SI]”的源操作数在内存的DS(数据)段。4.指令“MOVBX,[BP+DI]”的源操作数在内存的SS(堆栈)段。5.指令“MOVAX,ES:[SI]”的源操作数在内存的ES(附加)段。•入栈指令使用的是_SS(堆栈)_段。.指令“ADD[BX+SI],AL”的目的操作数是—基址加变址_寻址方式。.指令“SUBBX,A[SI]”的源操作数是—寄存器相对 寻址方式。.指令“JMPDWORDPTR[BX]”属于_段间间接 寻址方式。•可作为寄存器间接寻址的寄存器有 _4 个。.堆栈是从_目标地址—高_地址向_低_方向生长的。其操作遵循—后进先出(先进后出)—的操作原则。•在进行弹栈操作时应该先将弹出的数据送 _目标地址 ,然后—P+2_。.在进行多精度加法运算时,一般使用 __ADC(带进位加) 指令。•通用的数据传送指令不影响_标志位(PSW) 。. “INCAL”指令不影响标志位的__CF_位。.若AL=11H,执行“NEGAL”后,AL=0EFH_。.JMP指令的执行—不影响_PSW寄存器中的各位。•两个无符号数进行比较时,可以根据 __CF(SF)_标志位来判断大小。在编写程序时可使用_JA(JB、JC、JNC、JS、JNS)_指令来实现。•若执行“DIVBX',其被除数的高16位必须放在_DX_,低16位必须放在AX—。.DAA指令只对_AL_寄存器中的内容进行调整。.若AL=84H,在执行CBW后,AL=QFF84H—。.十进制数1234的压缩型BCD码为J234H_。.执行ANDAL,0FHJNZL指令,是检测AL中的—低4位—位,当它为非零则转移。.若移位指令的移位位数大于 1时,其移位位数必须放在_CL_中。.如果AL=85H,CL=4,执行“SARAL,CL'时,AL=QF8H_,CF=0_。.在串操作指令中,SI指向_源—串,DI指向—目的—串。.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用_REPNE(REPNZ)_重复前缀。。该指令的第二个.转移指令“JNZL”的转移范围(十进制)是_T28〜127字节为位移量,用补码_形式表示。。该指令的第二个•段内调用指令改变」P_中的内容。.段间调用指令改变_CS和IP_中的内容。四•判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因)TOC\o"1-5"\h\z. ADD AL, BXMOV [BX] ,SISUB [BX] ,[SI]. CMP 5,AL.MOVCX,AX.LEABL,A.SHRAL,6.MOV AL,[DI+SI].MOV BL,200H. MOV AX, DATATOC\o"1-5"\h\z. INC [BX].CMP [BX],A ;A为变量.MOV AX,'+'. MOV AX, [BP+BX]. ADD AX, [CX]. OUT 400 ,AL. JNC P.MOVBX,,OFFSETA. LEA DI, A[SI]. CMP AX, 5五.改错题(按下列指令中的原意改正下列指令)1.DEC[SI]2.CMPAL,BX;无符号数比较3.MOV[DX],AL4.MOVAL,300H

5.MOV[BX],[DI];字节操作6.ADDAL,[CX+SI]7.ADDAL,BX;有符号数相加8.PUSHAL9.CMP[BX],5;字节比较10.MOVDS,1234H六.简答题1.设BX=1000HSI=2000H1.设BX=1000HSI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?效地址是什么?1)使用D的直接寻址2)使用BX寄存器的间接寻址3)使用1)使用D的直接寻址2)使用BX寄存器的间接寻址3)使用BX寄存器的相对寻址4)基址变址寻址5)相对基址变址寻址1)MOVAX,BUF21)MOVAX,BUF2)CMPAL,53)ADD[BX+5],AX4)SUBAX,[BX+SI]5)ADCAH,A[SI]6)MOVBX,[SI]7)ANDCX,B[BP+SI]8)JMPWORDPTR9)JMPP10)JMPFARPTRP2.请指出下列各条指令的源操作数的寻址方式是什么?3.设[BX]DS=2000H,BX=0100H,SI=0002H20100H)=12H,(20101H)=34H,(20102H)=1H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后完后AX寄存器中的内容是多少?1)MOVAX,1200H2)1)MOVAX,1200H2)MOVAX,BX3)MOV AX,[1200H]4)MOVAX,[BX]5)MOVAX,[BX+1100H]6)MOVAX,[BX+SI]7)MOVAX,[BX+SI+1100H]4.按下列各小题的要求写出相应的一条汇编语言指令。(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中(2)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到 AX。(3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内容相加,结果存入CX寄存器中。(4)清除AX寄存器的内容,同时清除CF标志位(5)将字单元NUM与0B6H进行比较5.按下列各小题的要求使用相应的几条指令完成其操作。(1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中(2)比较AX寄存器中与BX寄存器中的16位有符号数,当AX中的内容大于BX中的内容时转移到L。(3)将BUF1和BUF2中的16位数据交换(4)测试BUF字缓冲区中第15位,如果为1则转移到P(5)将BUFI和BUF2的字相加,结果送S缓冲区6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么?SHRBX,1SARBX,17.分别说明下列每组指令中的两条指令的区别。1)MOVBX,BUFLEABX,BUF2)ORBL,0FHANDBL,0FH3)JMPSHORTLJMPL4)MOVAX,BXMOVAX,[BX]5)MOVAX,[BX+DI]MOVAX,[BP+DI]8.说明下列各指令的源操作数和目的操作数的存储地方。(1) MOV [2000H],AX(2) ADD AX,[BX+5](3)LEA SI,BUFDAAMULBL.指出下列无条件转移指令的转移目标地址是什么?存放在何处?(1)JMPBX(2)JMPWORDPTR[BX](3)JMPDWORDPTR[BX](4)JMPP(5)JMPSHORTR10.说明MOVSB和CMPSB各能使用哪些重复前缀?七.程序分析题.现有程序段如下:TOC\o"1-5"\h\zMOV AX, 1234HMOV BX, 60HADD AX, BX请回答:(1)该程序段完成的功能是什么?(2)程序段执行完后AX= 。.现有程序段如下:MOV AX, 0603HMOV BL, 8AADDIV BL请回答:(1)该程序段完成的功能是什么?(2)程序段执行完后AX= 。.设AX=0D023H ,BX=9FD0H,试分析执行完如下程序段后程序转向何处?ADDAX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP L5•程序段如下:MOV AX,XMOV DX,X+2ADDAX,YADC DX,Y+2ADD AX,36ADC DX,0SUB AX,ZSBB DX,Z+2MOV W,AXMOV W+2,DX请回答 :(1)该程序段完成的功能是什么?(2)该程序的操作数是何类型?(3)结果存放在何处?.设A为字节变量,变量中的内容分别为64H、52H;B为字节变量,变量中的内容分别为12H、46H,现有程序段如下:MOVAL,ASUBAL,BDASMOVC,ALMOVAL,A+1SBBAL,B+1DASMOVC+1,AL请回答:(1)该程序段完成的功能是什么?(2)最后结果是什么?6.现有程序段如下:MOVBL,ALMOVCL,4SHRBL,CLMOVA,BLANDAL,0FHMOVB,AL

请回答:(1)该程序段完成的功能是什么?如果AL的初值为56H,则A= ,B=7.现有程序段如下:MOVAL,8MOVBL,7MULBLAAMADDAX,3030HXCHGAH,ALMOVBUF,AX请回答:(1)该程序段完成的功能是什么?(2)BUF两个单元中的值分别为 。.现有程序段如下:MOVAX,MMOVDX,NSHR DX,1TOC\o"1-5"\h\zRCR AX,1请回答:(1)该程序段完成的功能是什么?,AX= (2)若M=1234H ,N=5678H,程序运行后DX=,AX= .现有程序段如下:XORAX,AXMOVAX,6342HMOVCX,0404HROLAH,CLXCHGCH,CLRORAL,CLTOC\o"1-5"\h\z请回答:(1)该程序段执行后AX= (2)CF= 。.现有程序段如下:MOV AX,1MOV BX,2MOVCX,MOVCX,4MOV DX, 3L:INC AXADD BX, AXSHR DX, 1LOOPNZ L请回答:(1)该程序段的循环次数是多少?(2)该程序段执行完后AX= ,BX= ,CX= ,DX= 11.现有程序段如下:MOVCX,16MOVBX,0MOVDX,1L:MOVAX,9AB8HANDAX,DXJZNINCBXN:SHLDX,1LOOPLMOVM,BX请回答:(1)该程序段完成的功能是什么?TOC\o"1-5"\h\z(2)该程序段执行完后(M)= <.现有程序段如下:CLDMOVSI,OFFSETBUF1MOVDI,OFFSETBUF2MOVCX,100REPMOVSB请回答:该程序段完成的功能是什么?13.现有程序段如下:CLDLEADI,BUFMOVAL,20HMOVCX,100

REPNZSCASB请回答:(1)该程序段完成的功能是什么?(2)若ZF=1,表示BUF中 值为20H数据DI= (3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 14.现有程序段如下:TOC\o"1-5"\h\zMOV AL, 0MOV BL, 1MOV CX, 10L: ADDAL,BLINCBLLOOP L请回答:(1)该程序段完成的功能是什么?(2)该程序执行完后, AL=15.现有程序段如下:MOVAX,MCMPAX,NJALMOVAX,M+2CMPAX,N+2JAZLMOVFLG,BYTEPTR0JMPPL: MOV FLGBYTEPTR1P: …请回答:(1)该程序段完成的功能是什么?(2)若M=1234H ,N=5678H,贝UFLG= 16.现有程序段如下:MOVCX,100LEABX,BUFMOVDX,0L1:MOVAL,<,/FONT>[BX]CMPAL,10

JLINCDXL2:INCBXLOOPL1L2请回答:(1)该程序段完成的功能是什么?L2(2)如果将JL改为JG,该程序段完成的功能又是什么?.设TAB中存放的数据为30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,现有程序段如下:LEABX,TABMOVAL,X ;X为数字0〜9XLAT请回答:(1)该程序段完成的功能是什么?TOC\o"1-5"\h\z(2)若X中的内容为4,则AL= 。.现有程序段如下:LEA SI, BUF1LEA DI, BUF2MOV CX, 100L: MOV AL, [SI+100]MOV[DI],ALINC DIDECSILOOP L请回答:该程序段完成的功能是什么?.现有程序段如下:MOVAX,BUFCMPAX,0JNSLMOVBX,BUF+2NEGBXMOVBUF+2,BXNOTAXADCAX,0MOVBUF,AXL: …请回答:该程序段完成的功能是什么?20.现有程序段如下:MOVAL,XANDAL,0FHJZLMOVBYTEPTRFLG,1JMPML:MOVBYTEPTRFLG,0M:请回答:该程序段完成的功能是什么?八.程序设计题1.使用串操作指令,将BUF缓冲区中的100个字节清0。.比较5个字节的字符串A和B,若两个串相等则字节标志单元 FLG置0;否则清1。3.设BUF缓冲区中有100个字数据。编写程序段统计100个字数据中数据为0的个数,并将统计的结果存放在DL寄存器中。计算Z=(X+5)*Y+30,(X,Y为无符号字节数据)。将DX:AX:BX中的48位数乘以2。将有100个字符的缓冲区BUF中的$符号用空格(20H)代替。将有符号的字数据A和B中的大者存入C中。8•测字单元A中的第四位是否为0,是则FLG置1,否则清0。将DX:AX中的32位数据逻辑左移2位。将100个元素的字数组A中的每个元素减1。.4.1单项选择题.下列选项中不能作为名字项的是(C)。A.FHB.A3 C.3BD.FADC2.下列指令不正确的是(D)。A.MOVAL,123B.MOVAL,123QC.MOVAL,123DD.MOVAL,123H3.下列指令不正确的是(A)。A.MOVBL,OFFSETAB.LEABX,AC.MOVBX,OFFSETAD.MOVBX,A4.若定义“BUFDB1,2,3,4”,执行MOVAL,TYPEBUF后AL=(B)。A.0B.1 C.2D.35.若定义“AEQU100”,执行“MOVAX,A”后,AX=(C)。A.A的偏移地址B.A单元中的内容C.100D.A的段地址6.若定义“BDW1,2,10DUP(0)”,则该伪指令分配(D)字节单元。A.10 B.20C.22 D.247.若定义“CDD2,4”,则该伪指令分配(D)个字节单元。A.2B.4 C.6 D.88、伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。A、DEBUGB、LINK C、MASMD、EDIT在上机操作过程中, MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个(A)文件。A..LST B..EXEC..MAPD..ASMLINK命令执行后可以生成一个以(B)为扩展名的文件。A.ASM B.EXE C.OBJ D.COM.一个段最大可定义(B)字节。A.1MB.64KC.32KD.16K.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选(D)。A.BYTEB.WORDC.PARAD.PAGE.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的(B)。A.相同 B.长 C.短 D.不定.宏指令与子程序相比,子程序调用的执行速度比宏指令的( C)。A.相同 B.快快 C.慢 D.不定.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响( A)的设定。A.源程序B.目标程序C.汇编程序D.连接程序

.设A和B为字变量,C为标号,下列指令中不正确的是(C)。A.MOVAX,A B.MOVAX,BC.JNEA D.JMPC.代码段中的语句(B)表示该段结束。A.ASSUME B.CODEENDSC.START:MOVAX,DATAD.ENDSTART.过程定义语句以“过程名PRO”C开始,以过程名(B)结束。A.ENDS B.ENDP C.ENDM D.END)整除的单.一个段可以放在内存的任何地方,但起始地址应该从一个能被(A元地址开始。)整除的单A.16 B.32 C.64D.12820.在数据定义语句中,下列描述不正确的是(A)。A.存放存储单元的地址可以用字节表示B.存放存储单元的地址可以用字表示C.存放存储单元的地址可以用双字表示D.存放存储单元的地址可以用四字表示3.4.2多项选择题1.在8086汇编语言中,语句的种类有(AB)。D•说明语句A•指令性语句 B•指示性语句 CD•说明语句2.在下列的选项中,不能作为名字的有( ABD)。A•AXB•3MA C.ABCD D•MOV.在下列的选项中,作为变量的类型有( ABC)。A.字节 B.字 C.双字 D.近程.在下列的选项中,作为标号的类型有(CD)。A.A.DB B.DDC.NEAR D.FAR.在运算符OFFSET.在运算符OFFSET后可以是(AB)。A.标号 B.变量 C.表达式 D.数字•在指令“LEABX,X”中的X可以是(ABC)。A.标号 B.变量 C.表达式 D.数字7.不能分配内存单元的伪指令语句有( AC)。A.EQUB.A.EQUB.DWC.D.DD8.定义一个段的伪指令语句有(AD)。A.NAMESEGMENTB.NAMEPROCC.NAMEENDPD.NAMEENDS9.定义一个过程的伪指令语句有(BC)。A.NAMESEGMENTB.NAMEPROCC.NAMEENDPD.NAMEENDS10.宏指令与子程序的主要区别在于( BCD)。A.完成的功能完全不同B.目标程序的长度不同C.执行程序的速度不同D.汇编时处理的方式不冋3.4.3填空题1.汇编语言的语句有指令语句和指示性语句(伪指令),宏指令是 指令语句的另一种形式。•标号的三个属性是段地址、 _偏移地址 和类型。•变量的三个属性是段地址、 _偏移地址_和类型。•标号的类型有_近程(NEAR) 和 远程(FAR) 。.变量的类型有_字节(BYTE) 、 字(WORD)_、_双字(DWORD)四字(八字节)和十字节。.等价语句不能重复定义、等号语句 可以 重复定义。.等价语句和等号语句 不分配 内存单元。8.语句“MOVBX,OFFSETA”可用 LEABX,A 一条指令代替。9.若定义“ADW1234H',指令“MOVAL,BYTEPTRA执行后,AL=34H。10.若定义“BDW1,2,30DUP(5)”,则B分配的内存单元数是 64 字节。11.若定义CDW'AB'则“MOVAL,BYTEPTRC”执行后,AL=二2H 。•在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先 定义 ,否则汇编程序进行汇编时就会 报错—。.使用伪指令 段名SEGMENT 和_段名ENDS 定义一个段。.使用伪指令—过程名PROC 和_过程名ENDP 定义一个过程。利用过程定义语句可以把程序分成小段,以便于 —阅读 、—理解 、调试和修改。.伪指令 “END[表达式]” 表示整个程序结束。•宏展开就是用宏定义取代源程序中的宏指令。若实元个数大于变元个数,则多余的实元_不予考虑_。若实元个数少于变元个数,则多余的变元用 _用空格 代替。•汇编语言源程序经_JMASM(汇编) 产生目标文件,它_不能 直接在机器上运行,还必须经过INK (连接) 后形成可执行文件。•在数据段中使用字符串时,该字符必须用 _引号 括起来。当定义含有多个字符的字符串时,只能使用 DB_伪指令。•用汇编语言编写的程序称为 汇编语言源程序 ,其扩展名为—SM 。•在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以 _多_次调用它。3•4•4简答题•按照下列题目要求写出每小题的伪指令。(1)将12H、34H、56H、78H存放在字节变量A的存储单元中。将12、1638H、0E52H存放在字变量B的存储单元中。将字符串COMPUTER存放在C变量的存储单元中。(4)将D字节变量的100个单元设置为0。(5)将D的偏移地址存放在E变量中。•设数据段定义如下:DATASEGMENTBUF1DB2,3BUF2DW4,5,6BUF3DB2,100DUP(0)BUF4DB'ABCDEBUF5DWBUF3BUF6EQU$—BUF3DATAENDS请回答:(1)该数据段占用的内存有多少字节?(2)BUF5单元中的值是多少?(3)BUF6的值是多少?(4)执行“MOVAL,BUF4+2指令后,AL= 。(5)执行“MOVAX,WORDPTRBUF1指令后,AX=•设数据段定义如下:

ADW23,45BDW‘EFC=$+5DDB10DUP(?)EEQU$—DFDWDDATAENDS请回答::(1)该数据段占用的内存有多少字节?(2)C的值为多少?(3)E的值为多少?(4)执行“MOVAX,F”指令后,,(5)执行“MOVAL,BYTEPTR4•设数据段定义如下:DATASEGMENTBUF1DB36H,3,2BUF2DW1364H,253HBUF3DB30DUP('ABC)BUF4DW$—BUF3BUF5DB100DUP(0)DATASEGMENTAX=B”指令后,AL=DATAENDS请回答:(1)执行“MOVAX,WORDPTRBUF1后,AX= TOC\o"1-5"\h\z执行“LEABX,BUF3后,BX= 。(3)执行“MOVCX,BUF4后,CX= 。(4)执行“MOVAL,BUF3+2”后,AL= 。(5)执行“MOVAX,BUF2+1后,AH= 。5•设数据段定义如下:DATASEGMENTA1DB10DUP(')A2DW1234H,5678H,341HA3DW$—A2A4DWA2

A5DBA5DATAENDS请回答:(1)用一条指令将A2的偏移地址送BX。(2)将A1的第6个字节送字符‘A'ASCII码(3)将A2的第3个字节的内容送AL。(4)将A2的第3个单元开始的字内容送AX。(5)用一条伪指令求出A1和A2所占字节数(设伪指令的变量为 C)。6•设数据段定义如下:DATASEGMENTADW2,3BDB100DUPCDD12345678HDDB$—BEDWBDATAENDS请回答:(1)用一条指令将C的第2个字节的内容取出并送AL。(2)执行完“MOVAL,LENGTHB”后,AL=(3)执行完“MOVAL,TYPEC'后,AL=(4)执行完“MOVAL,LENGTHA”后,AL=(5)执行完“MOVAL,SIZEB”后,AL=(6)执行完“MOVAL,D后,AL= 。(7)执行完“MOVBX,E”后,BX= 。(8)执行完“MOVAL,A+2”后,AL=7•设数据段定义如下:DATASEGMENTADW1,2,3BDB'ABCDE'CDW'ABDDB12H,34H,56HE=$+5DATAENDS请回答:(1)用一条指令将B字符串中的字符‘E'AL。(2)用一条指令将D变量中的第2个、第3个字节的内容送AX。(3)用一条指令将A变量中的第3个字节送AL。(4)“MOVAX,C'执行后,AX= 。(5)“MOVAL,E”执行后,AL= 。.按下列要求写出数据段DATA的相应内容。(1)TAB是0〜9的ASCII码表。STR是字符串变量,字符串为COMPUTER。BUF是100个空格的缓冲区。COUNT是计算BUF缓冲区中字节数的常量变量。AD是存放TAB的偏移地址变量。D是字节变量,数值为15H,2,3.按下列要求写出数据段DSEG的相应内容。(1)STR是存放字符ABCDE的字符串变量。D是存放十进制BCD数据372,2673,6852的字变量。BUF是存放10个0的字节缓冲区。E是存放BUF偏移地址和段地址的双字变量。F是常量,其值为5。.简述宏指令与子程序的主要区别。•在操作系统状态下,执行MASM程序对某一汇编语言源程序进行汇编后,除产生目标文件外,通过对答方式还可以产生对应源程序的另外两个文件。请指出:(1)这两个文件的扩展名是什么?(2)这两个文件的功能是什么?•简述汇编程序对宏调用作宏展开的过程。•设数据段定义如下:DATASEGMENTADW1,2BDB3,4CDB'ABCD'D=$—CEDB3DUP(0)DATAENDS请回答:(1)画出该数据段在内存中的分配示意图。

(2)变量A、B、C、E的偏移地址各是多少?(3)变量D的值是多少?14•设数据段定义如下:DATASEGMENTBUF1DW123HBUF2DB'SIMPLE)BUF3DW$+4BUF4EQU$—BUF1DATAENDS请回答:(1)画出该数据段在内存中的分配示意图。(2) BUF1、BUF2、BUF3的偏移地址各是多少?(3) BUF4的值是多少?(4) “MOVAL,BUF2+5执行后,AL= 15•设数据段定义如下:DATASEGMENTORG=4AEQU100BDB'ABC,2CDW101BDEQUB+4DATAENDS请回答:(1)画出该数据段在内存中的分配示意图。(2)B、C的偏移地址各是多少?(3) “MOVAX,D'执行后,AX= 五.判断改错题1•设数据段定义如下,判断各语句是否正确,如有错误则改正。ADB123HBDW23,45678HCDW'ABCDDDB100DUPEDB($—D)/3SEGMENTDATA(‘ABC)DATAEND2.设数据段定义如下:DATASEGMENTBUF1DB2,3BUF2DW3BUF3DD5BUF4EQU$—BUF1BUF5DB‘ABCD'BUF6DWBUF5DATAENDS请判断下列指令是否正确,如果有错请改正。1)MOVAX,BUF12)MOVAL,BUF53)MOVAX,BUF44)LEABL,BUF25)MOVAX,BUF36)MOV[BX],TYPEBUF37)MOV[BX],WORDPTRBUF38)MOVBUF5,AL9)MOVBUF6,BUF210)MOVBX,BUF63.判断下列伪指令是否正确,如果有错请改正。DATASEGENDSCODESEGMENTCODEENDMA SEGMENTENDM4)STACKSEGMENT‘STACK'CODE ENDSCODE ENDSCODE ENDSCODE ENDS5)ASEGMENTBDW1CDB123HAENDS6)MYNAMESEGMENTPARAMYNAMEENDS六.程序分析题1.分析下列程序,说明程序的功能。DATASEGMENTDB 18H,34H,05H,06H,09HDB0AH,0CH,11H,12H,14HB DB 3,4C DB 2DUP(0)DATAENDSCODESEGMENTCSCS:CODE,DS:DATAASSUMESTART:MOVMOVLEAMOVMOVLEAL: MOVXLATMOVINCINCLOOPMOVINTAX,DATADS,AXBX,ACX,2SI,OFFSETBDI,CAL,[SI][DI],ALSIDILAH,4CH21HDATA ENDSDATA ENDSENDST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论