汇编语言复习资料4_第1页
汇编语言复习资料4_第2页
汇编语言复习资料4_第3页
汇编语言复习资料4_第4页
汇编语言复习资料4_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言》试卷一、单选题(每题1分,共20分)CPU在读取指令时,实际读到的是什么?()A.伪指令和汇编指令所对应的字符串B.用汇编语言写的源程序中的信息C.由一系列二进制位组成的信息D.汇编指令所对应的字符串关于编译和连接,错误的说法是()。A.编译产生的*.obj文件不能在操作系统下直接运行B.连接产生的*.exe文件里面没有伪指令C.编译可以检查出语法错误D.连接可以检查出逻辑错误CPU传递到地址总线上的地址是()。A.逻辑地址B.偏移地址C.物理地址D.段地址一条将立即数赋值给寄存器的指令,在执行的前一刻,指令中的立即数在()中。A.通用寄存器B.端口C.内存D.CPU内部的指令缓冲器5.关于8086CPU的几个寄存器,正确的说法是()。可将BX当成两个8位寄存器,在偏移地址范围为0~255时,可以用“movax,[bl]”来实现将内存中的数据读到ax中可以用“byteptr”实现将SI当成两个8位寄存器使用可将AX、BX、CX、DX当成8个8位寄存器使用AX、ah、al是不同的寄存器,指令“addal,bl”的执行不会影响AX的值6.对于16位结构的CPU,其应有的特征不包括()。寄存器最大宽度是16位寄存器与运算器之间的通路为16位运算器一次处理的数据的最大宽度为16位地址总线宽度是16位7.下列与8086CPU寻址相关的说法,错误的是()。8086CPU有20根地址总线,它的寻址能力为1MB一个物理地址可以对应多个段地址与偏移地址因为段寄存器是16位,所以一个段最大为64KBCPU内部有一个能合成20位地址的地址加法器8. 8086CPU读取、执行指令的过程是()。从CS:IP指向的内存空间读取指令,将指令放入指令缓冲器执行指令,转到步骤①IP指向下一条指令A.①、②①、③、②若指令是转移指令,过程为①、③、②,不是则过程为①、②若指令是转移指令,过程为①、②,不是则过程为①、③、②对于8086CPU,错误的指令是()。movax,dspush[bx]inc[bx]addbp,2以下指令执行后,SP的值为()。movsp,0pushss00fffeh2内存ss:(处的数据的值关于循环结构,下列说法正确的是()。实现内存地址连续的8个字型数据的累加,循环结构与顺序结构相比,代码占得空间可以更少循环结构与顺序结构相比,实现相同的功能可以执行更少的代码只有使用loop指令才能实现循环结构双层循环结构中的所有汇编指令被执行的次数相同关于loop指令,错误的说法是()。loop指令的跳转范围是-128~127CX=10时,执行loop指令,IP的值一定减小CX=0时,执行loop指令后,CX=0ffffhCX=1时,执行loop指令,IP的值不变13.对于8086CPU,下列关于段的说法,错误的是()。一个段的起始地址必须是16的整数倍在源程序中定义一个段,在运行程序时,CPU不会因此定义而知道这个段的大小一块内存空间可以既是代码段,又是数据段。CPU将某个段用做栈,是因为assume指令将其与SS寄存器相关联14.用debug的e命令向b810:0010处写入数据,接着用d命令查看,发现b810:0010处并没有刚刚写入的数据,其原因是()。此处用于存储系统时间,一直在自动更新debug存在延时,第二次查看即可看到用e命令写入的数据此处处于ROM空间,不可以被改变此处处于显存空间,当屏幕刷新时,此处的数据被更新了15.()的功能与“moval,'d'”的功能相同。movax,'d'moval,'a'+3moval,'A'+3oral,'d'16.关于汇编语言中的指令,正确的说法是()。汇编语言中的标号属于伪指令汇编指令一定有对应的机器码伪指令由编译器识别,编译器将其转化为对应的机器码D. “+”一般会被编译成add指令以下程序运行时,“subax,masm”执行后,ax的值是()。assumecs:codemasmsegmentdw5dup(‘a','b','c')masmendscodesegmentstart:movax,codesubax,masmmovax,4c00hint21hcodeendsendstart15123对于8086CPU的标志寄存器,下列说法错误的是()。标志寄存器是16位的无法通过一条汇编指令将标志寄存器的所有位都更新这个寄存器中的有些位没有任何含义cmp指令能够改变标志寄存器的值关于中断处理程序,正确的说法是()。BIOS中断例程固化在ROM中DOS中断例程固化在ROM中BIOS中断例程对应的中断向量表表项,只能读取,不能写入中断处理程序不能够再调用别的中断处理程序关于中断,错误的说法是()。CPU执行intn指令时,不必通过数据总线读取中断类型码中断向量表一个表项的长度为4byte外中断都可以被屏蔽按下按键,或抬起按键都会触发9号中断二、单选题(每题2分,共20分)关于div指令,错误的说法是()。执行div指令可能触发中断div指令的除数既可以是16位,也可以是8位div指令的被除数或存放在DX和AX中,或存放在AX中div指令的运算结果有商和余数两部分2.关于debug的使用,错误的说法是()。Debug将程序加载到内存后,不执行任何命令前,IP的值一定为零通过debug可以查看标志寄存器某些位的值Debug将程序加载到内存后,不执行任何命令前,CX的值有可能是1024T命令有可能一次执行一条以上的指令

3.关于0:200~0:2ff这块内存空间,正确的说法是()。A.其为ROM空间B.其为CMOSRAM空间其是中断向量的存储空间,但可能是空闲的其中存储着BIOS提供的开机引导程序4.列指令,一定不会使标志寄存器发生变化的是()。4.列指令,一定不会使标志寄存器发生变化的是()。int21hjmpaxcmpax,bxsubax,ax5.关于串传送指令,错误的说法是()。5.只用一条movsb指令,即可以将一个内存单元里的数据传送到另一个内存单元movsb指令执行后,SI与DI的值可能会增加,也可能会减小传送可以以字节为单位进行,也可以以字为单位进行如果在执行“movsb”之前,CX的值是10,“movsb”将重复执行10次6.用debug的d命令查看内存,结果如下,则下列指令执行后,CS和IP的值依次是()。6.1000:00106369666965732061 movax,1000Hmoves,axjmpdwordptres:[0012H]6669 65736966 69657365696610000012对于标志寄存器相关位的描述,错误的是()。moval,1addal,127这两条指令执行后,OF=1,发生溢出;虽然逻辑结果为正,但SF却为1moval,1addal,0ffh这两条指令执行后,OF=0,CF=1“incax”不影响标志寄存器的CF位s:movax,8f00hcmpax,5jbsint21h这段程序执行过程中,SF一直为1movax,4c00hint21h这段程序的作用是()。调用21h号中断例程的4c00h号功能告诉编译器程序到此结束返回DOS前三个选项都不对下列说法正确的是()。A.iret指令可以描述为:popfpopcspopipmoval,1addal,0ffh上面两条指令执行后,(AX)=O用debug进行调试时,用p命令可以一次执行多条汇编指令call指令不能通过位移进行跳转1O.关于8O86CPU提供的栈机制,错误的说法是()。任意时刻,SS:SP指向栈顶8O86CPU只记录栈顶,一个程序运行时,其对栈空间的使用是否越界,需要程序设计者考虑用栈来暂存数据时,数据出栈的顺序一定要与入栈的相反键盘缓冲区是一种特殊的栈三、单选题(每题3分,共30分)1.实现一个子程序,在屏幕上显示一个由六个“*”构成的如下图形:******关于此子程序,错误的说法是()。可以不使用循环结构可以只用ret指令、栈指令和逻辑运算指令可以只用一个寄存器存储“*”的ASCII码在显存中的偏移地址写在指令中的寄存器不可以只是段寄存器关于中断过程中CPU对TF、IF的设置,错误的说法是()。若设置TF=1,则单步中断会不断地触发下去设置IF=0,但仍可将中断处理程序设计成可以响应外中断的程序若设置TF=1,将影响debug的运行由于设置IF=0,在中断例程中无法用int指令调用可屏蔽中断的中断例程使用直接定址表实现程序的作用不包括()。不用进行比对,即可从一组数据中读出与某一给定数值相等的数据用更少的存储空间实现功能相同的程序用更少的指令实现功能相同的程序D.使程序易于扩展对于以下程序,正确的说法是()。assumecs:codecodesegmentmovax,0callsdb40hs:movax,offsetsmovbp,spsubax,[bp]addax,30hpopbpmovds:[160*8+80],almovax,4c00hint21hcodeendsend这个程序无法正确返回“popbp”执行后,bp中存放着“movax,offsets”指令的偏移地址这个程序可以在屏幕上显示出“1”这个字符这个程序在屏幕上显示出什么信息,取决于40h对应的汇编指令是什么关于程序运行,正确的说法是()。程序加载到内存后,其所占的内存空间的大小,就是用户定义的段的大小的总和一个程序在运行的过程中,其指令不一定在内存里DOS给程序分配内存空间,在程序向DOS提出相关申请后进行对一个程序进行N次加载,第一条指令的物理地址不变程序中有stack段,如下。在代码段中写一段程序,实现代码段中的程序开始运行后,即将stack设置成一个初始状态为空的栈空间。一定无法实现此功能的程序段是()。stacksegmentdw0,0,0,0,0,0,0,0stackendsmovax,stackmovss,axmovsp,10hmovax,csmovss,axmovax,cssubax,1movss,axmovsp,10hmovax,dsaddax,10hmovss,axmovsp,10hE.前几个选项都不对。关于标号,下列说法正确的是()。地址标号和数据标号都可以在jmp后使用后面带“:”的标号,用在代码段中是地址标号,用在数据段中是数据标号用在代码段中的数据标号只表示内存单元的地址在and与or指令中不可用地址标号前几个选项都不对下列8086CPU指令中,执行时读写内存次数最多的是()。jmpaxretintnpush[bx]jmpwordptr[bx]和call200retf和call0:200下面程序的功能是()。(注:小写字母的ASCII码=大写字母的ASCII码+32)assumecs:codecodesegmentdb'welCOMe'start:movax,csmovds,axmovbx,0movcx,7s1:moval,[bx]andal,11011111bmov[bx],alincbxloops1movax,4c00hint21hcodeendsendstartA.将“welCOMe”中的字符全变成“w”B.将“welCOMe”中的字符全变成大写C.将“welCOMe”中的字符全变成小写D.将“welCOMe”中的字符小写变成大写,大写变成小写10.下面的程序统计1000:0处的32个字节型整数中,其值在[-64,-16]中的数据的个数,结果存在DX中。补全这个程序。()movax,1000hmovds,axmovbx,0movdx,0s:moval,0cmpal,16cmpal,64incdxs0:incbxloopsA.oral,[bx]、jmpax、shral,1B.addal,[bx]、jnbs0、jnas0C.andal,[bx]、jes0、jesD.subal,[bx]、jbs0、jas0E.前几个选项都不对。四、多选题(每题3分,共18分)1.关于mul指令,正确的说法是()。A.mul指令可以对8位数据进行乘法运算,也可以对16位数据进行乘法运算B.mul指令的操作对象可以是内存字节单元C.mul指令进行的是无符号数乘法运算D.mul指令不影响CF位2.编程时,我们经常将数据、代码、栈放入不同的段,有时还使用多个数据段,这样做的好处是()。A.可以使程序更加清晰B.可以使程序更加有条理C.可以提高“repmovsb”指令的执行速度有利于节约内存3.“将标号a处的两个数据相乘,结果存放在标号b处”,以下程序中,能实现此功能的是()。assumecs:code,ds:datacodesegmentstart:movax,datamovds,axmoval,amula[1]movb,axmovax,4c00hint21hcodeendsdatasegmentadb11,40bdw0dataendsendstartassumecs:code,ds:datadatasegmentadb11,40bdw0dataendscodesegmentstart:movax,datamoves,axmoval,amula[1]movax,4c00hint21hcodeendsendstartassumecs:codedatasegmentadb11,40bdw0dataendscodesegmentstart:movax,datamovds,axmoval,amula[1]movb,axmovax,4c00hint21hcodeendsendstartassumecs:codecodesegmentadb11,40bdw0start:moval,amula[1]movwordptra[2],axmovax,4c00hint21hcodeendsendstart4.执行“movss,ax”后,CPU不响应中断的原因是()。若响应中断,CS、IP的值无法保存到内存中为正确设置栈底提供时机为将SS:SP指向正确的栈顶提供支持若响应中断,CS、IP、标志寄存器的值可能会存储到错误的位置下面对于段寄存器的叙述,错误的是()。用“[reg]”的方式进行寻址,默认的段寄存器为DSSS指向某个段,这个段则无法当做数据段使用不能将一个立即数直接传送到段寄存器CS不能通过传送指令改变“检查DS:BX处的字节是否为正偶数,是则AL=O,否则AL=T,可实现此功能的子程序是()。A.func:moval,ds:[bx]andal,81hcmpal,Ojes_retmoval,1s_ret:retB.func:pushcxmovcx,ds:[bx]subch,chandcl,81hjcxzs1movcl,1s1:moval,clpopcxretC.func:moval,ds:[bx]shral,1jbs1moval,0s1:retD.func:moval,ds:[bx]andal,1cmpal,0jes1incals1:ret五、程序研究(每题3分,共6分)对于以下子程序,正确的功能说明是()。func:pushaxmovax,1shlax,clorbx,axpopaxretA、 将一个16位数n的低8位的第x位(x取值范围是[0,7])置1,n存放在BX中,X存放在CL中B、 将一个8位数n的第x位(x取值范围是[0,7])置1,n存放在BL中,X存放在CL中C、将一个8位数n的第x位(x取值范围是[0,7])置1,n存放在BX中,X存放在D、 将一个16位数n的第x位(x取值范围是[0,15])置l,n存放在BX中,X存放在CL中E、 将一个16位数n的第x位(x取值范围是[0,15])置1,n存放在BX中,X存放在CL的低4位中对于以下子程序,正确的说法是()。func:pushbxpushcxpushdsmovax,0next:addal,[bx]adcah,0incbxloop

温馨提示

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

评论

0/150

提交评论