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

下载本文档

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

文档简介

《汇编语言》试卷单项选择(每题1分,共20分)8086CPU的地址总线的宽度是20位,数据总线的宽度是16位,则8086CPU的寻址能力为()。64KB1MB1GB不确定从内存中读取1024个字节的数据,80386CPU至少需要读256次,则80386的数据总线宽度为()位。481632对于8086CPU,正确的指令是()。incwordptrds:[0]moves:[0],ds:[0]movax,[bx+bp]addCs,ax按照地址从低到高的顺序排列,双字型数据16在内存中如何存储?()00001000000000100010000010000000一个汇编源程序,从写出到最后被CPU执行,依次经历了哪几步?()编译、加载、连接、执行加载、编译、连接、执行连接、编译、加载、执行编译、连接、加载、执行不可能出现在可执行文件中的是()。机器码伪指令源程序中定义的数据jmp指令中的地址如果将10000H~1FFFFH这段内存空间当做是栈空间,假设SS=1000H,则下列说法正确的是()。栈空的时候,SP的值为FFFeH栈满的时候,SP的值为0这段栈空间的大小为4KB使用这段栈空间,有可能会出现栈越界对于在debug中使用t命令,正确的说法是()。可触发单步中断将执行完整个程序只能执行一条指令在依次执行完“movax,4c00h”、“int21h”这两条指令后,程序返回关于在程序中使用内存空间,不正确的说法是()。可以通过定义段的方式给程序分配安全的内存空间DOS和应用程序一般不会使用0:200~0:2ff这段空间使用安全的内存空间,不会影响dos操作系统和其他合法程序的运行使用mov指令时,不用担心损坏系统数据读取、执行下面的指令之后,CPU总共修改了几次IP的值?()subax,axretf1234以下指令中,可以被CPU执行的指令是()。SEGMENTASSUMEstiend若AX=1000H,CL=90H,则执行指令DIVCL之后,AX=()。401CH001CH0040H1C40H中断向量表中存放的是()。中断类型码断点地址中断处理程序中断处理程序的入口地址如果AL=75H,则执行ADDAL,0F0H之后,OF、CF的值是()。OF=1,CF=0OF=0,CF=0OF=0,CF=1OF=1,CF=1假设sp=0010h,则执行哪条指令,sp的值会减小?()iretjmp标号retfcall标号对于PC机,CPU通过()间接控制外部设备进行工作。端口内存磁盘显示器使用直接定址表的作用在于()。有效合理地组织数据用更少的存储空间,存储更多的数据尽量将数据存储在寄存器中尽量将数据存储在内存中8086Cpu执行完哪一条指令能获取到键盘输入?()inal,60hint10hint9hint16hPC机开机之后,会进行bios中断例程的初始化,这个初始化具体是指()。操作系统给bios中断例程分配内存空间登记bios中断例程的入口地址读取bios中断例程的内容执行bios中断例程用debug查看内存单元,结果如下。则执行以下程序,ax的值是多少?()1100:F000BE0006006A22 MOVAX,2000H MOVDS,AX MOVBX,0000H MOVSI,0 MOVAX,2[BX][SI] INCSI ADDAX,2[BX][SI] INCSI MOVDI,SI SUBAX,2[BX][DI] 9c06h479ch7006h8c70h 单项选择(每题2分,共40分)可以改变标志寄存器的值的指令是()。PUSHFMOVAX,AXSHLAX,CLJCXZ给定段地址为1001h,则8086CPu可以寻址到物理地址为()的内存单元。 020000H10000H20010H已知(AX)=2,则能实现(AX)=(AX)*8的程序段是()。shlax,3shrax,3MOVCL,3SHLAX,CLmovcl,3shrax,cl以下程序执行后,AX的值为()。movax,4 calls nops: movax,offsets movbp,sp subax,[bp]0123以下关于CMOSRAM及端口读写的说法,正确的是?()CMOSRAM是一个可读可写的芯片,关机之后,停止工作,信息丢失向CMOSRAM的2号单元写一个数据0,指令为:in[2],0CPU可以通过读写两个端口,读写容量为128byte的CMOSRAMCMOSRAM中存放着时间信息,这些信息以ASCII码的形式存储,时分秒各占一个字节执行以下程序之后,si的值为()。movax,0 moves,ax movsi,0 movdi,0 movcx,2 std repmovsw4FFFCH2FFFEH以下指令执行后,10000H~10006H内存单元中的内容是()。mov

ax,1000H

mov

ds,ax

mov

bx,0000H

mov

ax,3e88H

mov[bx],ax

inc

bx

inc

bx

mov

[bx],ah

mov

ah,0

inc

bx

mov

[bx],ax

inc

bx

mov

[bx],ax

mov

ax,ds:[1]

inc

bx

inc

bx

mov

[bx],ax88H,3eH,3eH,88H,88H,00H,3eH88H,3eH,3eH,88H,00H,88H,00H88H,3eH,3eH,88H,00H,3eH,3eH88H,3eH,3eH,88H,88H,3eH,3eH补全以下程序,计算00101000h-00202000h的值,并将计算结果的高位保存在AX中,低位保存在BX中。() Movax,0010h Movbx,1000h ___________ ___________Subbx,2000hSubax,0020hSbbbx,2000hSubax,0020Subbx,2000hSbbax,0020hSbbbx,2000hSbbax,0020h下列说法不正确的是()。在int16h中断例程中,一定有设置IF=1的指令“int9”指令可以引发一个中断过程,在此中断过程中,执行中断例程所需的中断类型码来自于CPU外部Int16h中断例程能否执行结束,与键盘缓冲区有关键盘缓冲区中存放着按键的扫描码和对应的ASCII码对于以下程序,正确的说法是()。assumecs:codecodesegmenttopdw0cbhaddrddtopstart:MOvax,topmovax,addr[0]movbx,addr[2]pushdsmovax,0pushaxjmpaddr[0] codeendsendstart“movax,top”可将top的偏移地址赋给ax“jmpaddr[0]”只对IP的值进行设置“MOVAX,ADDR[0]”可将top处的数据读到AX中“movax,addr[0]”、“movbx,addr[2]”执行后,BX中存放top的段地址,AX中存放TOP的偏移地址如下程序运行时,data段的段地址为SA,则code段的段地址为()。assumecs:codedatasegment db"divideoverflow!"dataendscodesegment movax,4c00h int21hstart: movbx,1000h push[bx] popax divblcodeendsendSA+1SA+2SA+3无法确定关于前一题中的程序的执行,下列说法正确的是()。对于程序中的指令,CPU所执行的第一条指令是“movax,4c00h”此程序一定会触发除法溢出中断执行divbl指令之后,屏幕中将显示出“divideoverflow!”前三个选项都不对以下程序运行时,读取、执行“push[bx]”(此指令的机器码为FF37),8086CPU一共访问了几次内存?()assumecs:codecodesegmentdb16dup(0)start:movbl,0push[BX]movcs:[2],dsjmpdwordptrcs:[0]codeendsendstart1次2次3次4次补全程序,使程序可以正确返回。()ASEGMENTASSUMECS:ASTART: __________AENDSBSEGMENTASSUMECS:BS: MOVAX,4C00H INT21HBENDSENDSTARTjmpsjasjmpfarptrsloops补全程序,使程序可以正确返回。()assumecs:codecodesegments:movax,4c00hint21hstart:movch,95hmovcl,96h subch,clmovcl,chmovch,0 ____________codeendsendstartA:jEsB:jnbsC:loopsD:前三个选项都不对一个程序在运行时,CPU执行程序中的如下指令后,程序的运行情况是怎样的?()movax,4c00hint21h返回到DEBUG中返回到command中返回到dos中前三个选项都不对下列关于中断的说法,不正确的是()。除法溢出中断是来自CPU内部的中断键盘中断属于可屏蔽中断中断信息可来自cpu内部,也可来自cpu外部设置IF=0,可屏蔽来自CPU外部的中断可改变SF和ZF的值的指令是()。jenextinal,20hpuahaxshlax,1 关于PC机的开机过程,下列观点正确的是()。int19h中断例程是由dos提供的开机后,CPU会去执行FFFF:0处的跳转指令。在一台PC启动后,我们可以写一个修改此处的指令的程序,在这台PC上运行,修改此处的指令,使得在重新启动这台PC后,CPU不会因此处的指令而修改CS、IP计算机可以先从硬盘启动操作系统,也可以先从软盘启动操作系统重启计算机实际上是重启操作系统,所以会跳过硬件系统检测和初始化中断过程的正确顺序是()。

①取得中断类型码N

②pushf

③TF=0,IF=0

④pushIP

⑤pushCS

⑥设置CS,IP指向中断处理程序第一条指令①②③④⑤⑥①②③⑤④⑥①③②④⑤⑥①③②⑤④⑥三、多项选择(每题3分,共18分)对于以下程序,正确的说法是()。assumecs:codedatasegment db10dup('123','abc')dataendscodesegmentstart: movax,data movds,ax movbl,ds:[10] movax,4c00h int21h codeendsendstartdata段所占内存为60Byte程序加载后,data段的段地址=code段的段地址-4执行指令MOVBL,DS:[10]之后,bl的值为字符“B”的ASCII码“movbl,ds:[10]”与“movBL,data[10]”可将同一内存地址处的数据读入BL对于以下程序,正确的说法是()。ASSUMECS:CODE,DS:DATA,SS:STACKDATASEGMENT CHRDB0,4CHDATAENDSSTACKSEGMENT DW8DUP(0)STACKENDSCODESEGMENTSTART: PUSHCSPUSHSPPOPBPDECWORDPTR[BP]POPSSPUSHSSPUSHSPPOPBPDECWORDPTR[BP]POPDSMOVAX,DS:[0] INT21HCODEENDSENDSTART此程序运行时,DS将指向STACK段其可执行文件的长度为Xbyte,用DEBUG将其可执行文件加载入内存后,CX=Y,则x=y此程序运行时,“movax,ds:[0]”执行后,ax的值为4c00h此程序运行时,CPU不一定将STACK段当做栈空间来使用关于转移指令,下列说法正确的是()。“jmpshorts”的机器码中一定包含标号s的偏移地址“JMPSHORTS”与“JCXZS”的机器码长度相同“calls”与“loops”的转移范围相同“JMPDWORDpTR[bx]”与“retf”都可实现段间转移可做为指令的访问对象写在指令中的是()。CPU内部的寄存器端口CMOSRAM中的存储单元指令缓冲区中的数据关于单步中断,下列说法正确的是()。单步中断的中断类型码为ff01使用pOPF指令可以改变TF的值,使CPU工作于单步方式下“当TF=1,在执行完当前指令后立即响应单步中断”,不是在所有情况下,CPU都这样工作在中断过程中一定有设置TF=0的步骤,否则程序可能进入无限循环 关于子程序和中断例程,错误的说法是()。子程序和中断例程都可以作为实现模块化的机制设计子程序和中断例程都得考虑传参的问题子程序和中断例程都可应用栈传递参数在中断例程中不可以调用中断例程在中断例程中可以调用子程序,在子程序中也可以调用中断例程程序设计(单选,每题3分,共12分)补全程序,使其可以实现:SUM=字符串STR中的所有BYTE型数据的和。()ASSUMECS:CODE,ES:DATADATASEGMENTSTRDB'NULLPOINTERASSIGNMENT.'DATAENDSCODESEGMENT SUMDW0 START:MOVAX,DATAMOV____,AXMOVSI,0MOVCX,24S:MOVAL,STR[SI]ADD____,ALADCBYTEPTRSUM[1],0LOOPS MOVAX,4C00HINT21H CODEENDSENDSTART ds,SUM[2]es,SUM[2]es,byteptrSUM[0]ds,byteptrSUM[0]以下程序实现:计算2的8次方,将运算结果保存在ax中。补全程序。()movax,1movcx,______s:addax,axloops9 b.8c.7D.前三个选项都不对。以下程序实现:将data段中的大写字母转换为小写,小写字母转换为大写。补全程序。()ASSUMECS:CODEDATASEGMENT DB"heLLo"DATAENDSCODESEGMENTSTART:MOVAX,DATA MOVDS,AX MOVBX,0 MOVCX,5S:ADDBYTEPTR[BX],00100000B ANDBYTEPTR[BX],_________ ORBYTEPTR[BX],01000000B INCBX LOOPS MOVAX,4C00H INT21HCODEENDSENDSTART01h00h80h7fhE.前几个选项都不对在内存的0:23C处安装一个新的int9中断例程,此中断例程的程序如下。在安装此中断例程前,将BIOS的int9中断例程的地址保存在0:200h处。关于此中断例程,正确的说法是()。

INT9:PUSHAXpushesmovax,0moves,axINAL,60HPUSHFCALLDWORDPTRES:[200H]CMPAL,03BHJNEINT9RETmovax,0b800hmoves,axmovbyteptres:[12*160+80],'a'INT9RET: popesPOPAXIRET安装此中断例程后,如果有松开F1键的情况出现,屏幕上将显示一个字符“a”其安装程序将内存26H处的字单元的值设置为20H,这样的设计,不会对此其执行造成影响其安装程序将内存24H处的字单元的值设置为2cH,这样则使得,即使发生键盘中断,CS:IP也不会指向其第一条指令“pushf”将数据压栈,此数据将在“POPES”时出栈问题分析(4分)下面的程序对data段中的16个数据进行从小到大的排序,其所运用的排序算法,在“算法思想”中给出说明。将标号s后的第3条指令“jnanext”,改为“jbnext”,将产生的影响是()。算法思想:有X个数据,依次存储在a[0]、a[1]、……a[X-1]单元中。用len记录数据量,len=X。用n记录单元号,n的取值范围是:[0,len-1]。设置n=0,之后按如下过程,将len个数据中最大的数据移到a[len-1]单元。1、将相邻的两个数据a[n]与a[n+1]进行比较2、如果a[n]>a[n+1],则交换a[n]与a[n+1]的值3、n=n+1,如果n不等于len-1,则重复1之后,设置len=len-1。如果len>1,则设置n=0,重复以上过程。assumecs:code,ds:data,ss:stackstacksegment dd8dup(0)stacken

温馨提示

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

评论

0/150

提交评论