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

下载本文档

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

文档简介

单项选择(每小题1分,共20分)能够向地址总线发出地址信息指令是()。movax,1pushaxmovax,bxjmpax一个字单元能够存放()个bit。A.1B.8C.16D.32此时ax值为00C5H,执行完“addal,85H”后,ax中值是多少?()A.0158HB.014AHC.0058HD.004AH80386CPU地址总线宽度为32根,80386CPU寻址能力是()。A.64KBB.1024KBC.16MBD.4096MBBIOS存放在以下哪种硬件中?()RAMROMCPUCMOS8086PC机一个段最大长度为()。A.64ByteB.64KbitC.1MBD.64KB给定段地址为0002H,仅经过改变偏移地址寻址,8086CPU寻址范围为()。20H—2FH20H—30H20H—1001FH20H—10020H用[di]、[bp]方式访问内存时,8086CPU默认段存放器依次是()。ds、esds、ssss、dses、ssdebug加载.exe文件后,在对存放器中值进行改变之前,cx中值有什么含义?()循环次数。所加载文件字节数。是系统默认值,没有实际意义。程序长度。80386PC机开机后,CPU所执行第一条指令地址是()。A.0FFH:00B.0FF0H:0FFHC.0FFF0H:0FFHD.0FFF0H:0F0H读取,执行哪条指令CPU会修改两次IP?()pushpushfretmov在debug中查看内存,显示以下:073F:0000 CD203EA700EAFDFF-ADDE4F03A3018A03073F:0010 A3011703A3019201-0101010002FFFFFF073FH:0013H处字型数据是()。A.007AHB.03A3HC.A303HD.0317H以下与外设相关观点,正确是()。外设输入不可存放在内存中。CPU不可经过写内存,将信息输出到外设。外设有输入时,将输入信息送入相关接口芯片端口中,CPU响应相关中止,再去端口中读取输入信息。外设有输入时,将输入信息送入相关接口芯片端口中,再由接口芯片将输入信息送到CPU。对于8086CPU,正确指令是()。movax,[bp+dx]movax,ds:[bp+bx]movax,ss:[si][di]movax,cs:6[si]关于转移指令,错误说法是()。A.进行段内短转移时,jmp指令对应机器码中没有转移目标地址。B.进行段间转移时,jmp指令对应机器码中有转移目标地址。C.进行段内短转移时,IP修改范围是0~255。D.loop指令也是转移指令。以下关于8086CPUdiv指令说法,错误是()。被除数能够放在存放器中,也能够放在内存单元中。若结果商大于al或ax所能存放最大值,将引发CPU一个内部错误:除法溢出。能够重写0号中止处理程序,使得程序能够处理除法溢出情况。可使用div指令编写一个计算32位被除数/8位除数子程序。在debug中,用“d0:0”查看内存,显示以下:0000:0000 6810A7008B017000-160098038B0170000000:0010 8B017000B9060E02-40070E02FF030E020000:0020 46070E020A040E02-3A009803540098030000:0030 6E00980388009803-A2009803FF030E020000:0040 A9080E02A4090E02-AA090E025D040E020000:0050 B0090E020D02DD02-C4090E028B050E020000:0060 0E0C0E02140C0E02-1F0C0E02AD060E020000:0070 AD060E02A4F000F0-37050E023A1300C013H号中止中止处理程序入口地址是()。006EH:0398H020EH:045DH9803H:8800H0398H:0088HCPU执行完哪条指令后,即使发生中止,也不会响应?()iretclimovss,axmovsp,168086PC机中止向量表,最多能够存放()个中止处理程序入口地址。1282565121024能够修改CX指令是()。jmpB.divC.shlD.jcxz单项选择(每小题2分,共40分)以下关于8086CPU栈机制说法,错误是()。任意时刻,SS:SP指向栈顶元素。retf指令不会引发栈空间超界。push、pop实质上是一个内存传送指令。8086CPU栈机制,没有对防止栈空间超界提供支持。关于汇编语言中“段”概念,以下说法错误是()。用mov、add、sub等指令经过偏移地址访问data段中数据前,应将data段段地址放在ds中。一个段,能够既是数据段,又是桟段。一个段,不能够既是代码段,又是数据段。一个段中内容对CPU来说是指令还是数据,关键在于对相关存放器设置。设置10000H~1FFFFH内存空间为栈段,初始状态栈是空,此时,SS、SP值是()。SS=1000H SP=FFFEHSS=0H SP=FFFEHSS=1000H SP=0SS=H SP=0关于标号,错误说法是()。数据标号表示了内存单元地址和长度。后边加“:”地址标号,只能在代码段中使用。应用assume将指令中数据标号所在段,与一个段存放器联络起来,这么,使用数据标号指令,就能够从段存放器中得到所用数据标号段地址。能够将一个标号集合存放在直接定址表中。关于PSP,错误说法是()。这个程序设置(CS)*16+(IP)=PSP所在内存空间首地址。assumecs:codecodesegmentstart:movax,0moves,axmovwordptres:[200h],0moves:[202h],dsjmpdwordptres:[200h]codeendsendstartPSP共有256个字节。DOS经过PSP来与其所加载程序进行通信。用debug加载一个其功效是设置(ds)=(cs)程序后,即用a命令写且用T命令运行以下程序段:movax,dssubax,10movds,ax之后用“dds:0ff”,可对PSP所在内存空间进行查看。以下程序中全部转移指令机器码都是两个字节。用一条指令补全程序,使其能够由代码段中程序段返回。()assumecs:codecodesegment movax,4c00h int21hstart: nop nop pushcs popds movsi,offsetomovdi,offsetstart movax,ds:[si] movds:[di],ax movcx,-2 s:_____________ jcxzstarto: loops codeendsendstartaddcx,2(机器码:83HC1H02H)addcx,1(机器码:83HC1H01H)inccx(机器码:41H)以上都不对在debug中,用“d1000:0”查看内存,显示以下:1000:0000 6976652025632061-6E642070726573731000:0010 203C454E5445523E-0A006B0041626F751000:0020 7420746F2067656E-6572617465202E45接着,即写且执行以下指令:movax,1000movds,axjmpfar[2]之后,cs、ip值依次是()。A.6325、2065B.6520、2563C.2065、7669D.6520、2567以下指令执行后,ax值是()。movax,6776haddal,90haddah,90h6806HF806HF706H6706H能够读取CMOSRAM2号单元中数据程序段是()。moval,2out71h,2inal,70hmoval,2out70h,alinal,71hmoval,2in70h,aloutal,71h前三个选项都不对。以下指令执行后,al值是多少?()moval,01100011bandal,00111011boral,00111011bA.00100011BB.00111011BC.01111011BD.前三个选项都不对。以下哪个选项中指令执行后,zf=1,pf=1?()movax,1addax,2movax,1andax,0movax,1subax,2movax,1orax,0以下哪个选项中指令执行后,cf=1,of=1?()moval,98addal,99moval,0f0Haddal,88Hmoval,0f0Haddal,78Hmoval,68Haddal,1以下程序运行时,源程序指令中,CPU执行第一条指令是?()assumecs:acodesgsegmentmovax,20hmovax,4c00hint21hcodesgendsasegmentmovbx,30hmovax,4c00hint21haendsbsegmentmovbx,40hmovax,4c00hint21hbendsendmovax,20hmovbx,30hmovbx,40h以上选项都不对用一条指令补全程序,使这个程序能够返回。()assumecs:codedatasegment dd4dup(0)dataendscodesegments:movax,4c00h int21hcodeendsassumecs:aasegmentstart:_____________aendsendstartjmpsloopsjmpfarptrsjmpnearptrsTF存放在标志存放器第8位(第N位,N取值范围是[0,15])。在源程序中调用哪个子程序,程序运行时,将执行单步中止中止例程?()tf1:pushaxpushfpopaxorax,1000hpushaxpopfpopaxrettf1:pushaxpushfpopaxorax,0100hpopfpopaxrettf1:pushbppushfmovbp,sporbyteptr[bp+1],1popfpopbpret前三个选项都不对。不会影响标志存放器值指令是()。adcax,bxcmpcx,axincaxjmpwordptr[bx]可使if=1指令是()。sticldstdshr以下关于8086CPU中止机制说法,错误是()。int指令能够引发中止过程,在此中止过程中,CPU将访问5个内存字单元。IF值不一定与是否响应外中止相关,但一定与是否响应可屏蔽中止相关。对中止向量表进行相关设置后,即可在内存任意位置存放中止向量。中止信息能够来自CPU内部,也能够来自CPU外部。关于shl与shr,正确说法是()。shl用0补充最高位。shr将一个存放器或内存单元中数据向左移动。移出bit值是0,shl与shr不影响CF。shr用0补充最高位。能够经过编译程序是()。assumecs:codecodesegmentstart: jmpshorts db128dup(0)s: movax,4c00h int21hcodeendsendstartassumecs:codecodesegmentstart: jmpnearptrs db65536dup(0)s: movax,4c00h int21hcodeendsendstartassumecs:codecodesegmentstart: jmpfarptrs db65536dup(0)s: movax,4c00h int21hcodeendsendstartassumecs:codecodesegmentstart: jmpfarptrs db32767dup(0)s: movax,4c00h int21hcodeendsendstart多项选择(每小题3分,共18分)能够改变标志存放器值指令是()。pushfpopfintiret对于8086CPU指令,正确说法是()。or、and能够对一个bit型数据值进行设置。“jmpdwordptr[bx]”,实际上读取是两个word型数据,而不是读取一个dword型数据。movsb从内存中读取数据量大于iret。“callfarptrs”从内存中读取数据量大于ret。对以下程序进行编译、连接。用debug加载所生成.exe文件后,即用r命令查看存放器值,此时各个存放器情况是()。codesegmentmovax,4c00hint21hcodeendsend(cs)=(ds)+10h(ip)=0(ds)=(es)(cx)=0一定会引发中止过程事件是()。键盘输入除法溢出执行int指令修改显存数据 以下说法,正确是()若想用指令经过数据标号访问数据,应用assume将数据标号所在段和一个段存放器联络起来。将大写字母转换为小写字母时,能够将其ASCII码第6位(第N位,N取值范围是[0,7])置0。“cmpax,bx”与“subax,bx”对标志存放器影响相同。这个程序能够经过编译、链接。assumecs:codecodesegmentadb0,1,2,3start:movwordptra[0],0movwordptra[2],dsjmpdwordptracodeendsendstart用哪个选项中程序段补全程序,能够实现将数据段A中字符串复制到数据段B中?()assumecs:codestacksegment dd8dup(0)stackendsasegment db"welcometomasm!"aendsbsegment db16dup(0)bendscodesegmentstart: movax,stack movss,ax movsp,20h movax,a movds,ax movax,b moves,ax ? movax,4c00h int21hcodeendsendstart movsi,0 movdi,0 movcx,16 cld repmovsb movbx,16 movcx,16 movax,0s: movah,ds:[bx] pushax decbx popes:[bx]loops movbx,16 movcx,16 movax,0s: moval,ds:[bx] moves:[bx],al decbx loops movbx,0 movcx,16 movax,0s: moval,ds:[bx] moves:[bx],al incbx loops单项选择题(每小题3分,共9分)研究这个程序。关于这个程序正确观点是()。assumecs:codecodesegmentstart: movax,12MOVBX,4s: addax,ax DECBXJNEs movax,4c00h int21hCODEENDSENDSTARTA.这个程序计算12*4,结果存放在AX中B.这个程序计算12*8,结果存放在AX中C.这个程序计算12*2^4,结果存放在AX中D.这个程序计算12*4,结果存放在BX中E.应将DECBX改为,CMPBX,0。F.前几个选项都不对。研究这个程序。关于这个程序正确观点是()。assumecs:codecodesegmentstart: MOVAX,hMOVDS,AXmovSI,0movax,0MOVCX,12s: addal,ds:[si]adcah,0INCSIdeccxMOVBX,OFFSETS-OFFSETSEcallPROGse: movax,4c00h int21hprog:JeS_retPUSHBPMOVBP,SPADD[BP+2],BXPOPBPS_ret:retcodeendsendstart这个程序将12个数据进行累加,结果存在栈中。CALLPROC实际上实现了JCXZS。MOVBX,OFFSETS-OFFSETSE与CALLPROC这两条指令实际上实现了JCXZ。当程序执行到标号SE处时,SI值与BX值相等。前几个选项都不对。3.安装一个int9中止例程,使得按“2”能够在屏幕上显示蓝色字符“c”,按其它键能够按已经有方式处理。与这个程序相关正确观点是()。assumecs:codecodesegmentstart:movax,csmovds,axmovsi,offsetint9movax,0moves,axmovdi,204hmovcx,offsetint9end-offsetint9cldrepmovsbpushes:[9*4]popes:[200h]pushes:[9*4+2]popes:[202h]climovwordptres:[9*4],204h______(1)stimovax,4c00hint21hint9:pushaxpushes______(2)______(3)inal,60hcmpal,03h;03h为2通码jnefinishmovax,0b800hmoves,axmovwordptres:[12*160+36*2],’c’+0100hfinish:popespopaxiretint9end:nopcodeendsendstart在(1)处可用“moves:[9*4+2],cs”来设置int9中止例程入口地址。在(2)、(3)处依次可填“callfarptrs”、“s:jmpdwordptrcs:[200h]”,以此段程序

温馨提示

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

评论

0/150

提交评论