汇编语言程序设计试卷答案.doc_第1页
汇编语言程序设计试卷答案.doc_第2页
汇编语言程序设计试卷答案.doc_第3页
汇编语言程序设计试卷答案.doc_第4页
全文预览已结束

下载本文档

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

文档简介

华东交通大学20132014学年第二学期考试卷参考答案与评分标准 (A)卷课程名称:汇编语言程序设计(A) 课程类别:必、限、任特别说明:该试卷内容是基于8086微处理器的指令系统一、选择题(每题2分,共20分)1 在计算机中,带符号数都是用( B )表示。A)原码 B)补码 C)反码 D)ASCII码2 以下关于指令指针寄存器IP的说法不正确的是( C )A)IP是16位寄存器 B)IP的内容由微处理器自动设置C)程序可以直接访问IP D)程序可以改变IP的内容3 CPU发出的访问存储器的地址是( A )A) 物理地址B)偏移地址C)逻辑地址D)段地址4 以下关于汇编语言伪指令的说法中,不正确的是( B )A)当$在指令中表示本条指令的第一个字节地址B)EQU与=的使用相同C)指令中操作数类型不匹配时,可以使用PTR属性操作符D)ASSUME只是通知汇编程序有关段寄存器与逻辑段的关系,并没有给段寄存器赋予实际的初值。5 在8086/8088中,一个最基本的总线周期由( D )个时钟周期组成。A)1B)2C)6D)46 已知data是数据段名,下列指令中语法错误的是( D )A)MOV BX,seg dataB)MOV AX,dataC)MOV BX,dataD)MOV ES,data7 关于DEBUG调试命令的说法中,不正确的是( C )A) -U是反汇编命令B)-R是显示当前寄存器内容的命令C)-D是显示代码段内容的命令D)-T是单步执行命令8 下列关于存储单元的描述正确的是( A )。A)存储空间地址按字节组织B)存储空间地址按字组织C)存储空间地址按双字组织D)存储空间地址按四字组织9 下面指令执行后,改变AL寄存器内容的指令是( D )。A)TESTAL,02HB)ORAL,ALC)CMPAL,BLD)ANDAL,BL10 中断向量是( A )。A)中断服务程序的入口地址B)中断的返回地址 C)存放中断服务程序入口地址内存单元的地址D)保护断点的堆栈区堆栈区地址二、简单填空题(每题2分,共20分)1 8086微处理器由总线接口部件和 执行部件 组成,其内部寄存器均为 16 位。2 当用户需要访问某个从偶地址开始的字时只需一次访问存储器,而当用户需要访问某个从奇地址开始的字时则需要 二 次访问存储器,所以为加快运行速度,字的存放采用偶地址开始的形式。3 汇编语言的操作数有三种类型分别是: 立即数 操作数, 寄存器 操作数和 存储器 操作数。4 8086系统内存按字节划分存储单元,每个存储单元有个唯一的编号称为该单元的物理地址,当一个大于8位的数据要在内存存放时,数据的存放规则是:高字节放在 高地址 单元,低字节放在 低地址 单元。5 可屏蔽中断请求的中断响应时,CPU需发出 2 个中断应答信号INTA#用于获取 中断类型号 ,找到被响应中断源的中断服务程序的入口地址。3、 判断改错题(每小题1分,共10分)1 判断下表中数据传送指令的正误。(T表示正确,F表示错误) 序号T或F1.MOV SS:BX+DI,AXT2.MOV DL,1000H(数据类型不一样,DL是8位,1000H是16位)F3.MOV DS,2000H(不能直接对代码段寄存器CS直接赋值)F4.MOV DI,SI (两个存储器数据不能直接赋值,需要用寄存器过度)F5.MOV WORD PTRBX,1000HT 序号Y或N1.MOV DA11,AXN2.MOV DA21,ALN3.MOV WORD PTR DA11,AXY4.MOV DA1,ALY5.MOV DA2,AXY2 设数据段中已有定义如下:DA1DB12H,34H DA2DW56H,78H 判断右表中语句中操作数类型是否匹配。(Y表示匹配,N表示不匹配)4、 写出完成下列操作的指令(每题2分,共10分)1 用一条逻辑指令使AX寄存器清0。ANDAX,00H/XORAX,AX2 用一条逻辑指令使CX寄存器的低4位置1,其余位不变。ORCX,0FH3 用一条逻辑指令使BX寄存器的低4位求反,其余位不变。XORBX,0FH4 用移位指令实现无符号数AX乘8。MOVCL,3SHLAX,CL5 将AX寄存器中的有符号数,除以BX寄存器中的有符号数。CWDIDIVBX5、 程序填空题(每题2分,共20分)(思路正确酌情给分)1. 设数据段定义如下:(备注:大写字母A的ASCII码值为41H)DATA SEGMENTADW1,2,3BDBABCDEFCDWABDDB12H,34H,56HEDW$+5DATA ENDS请回答:(1)“MOV AX,C”执行后,AX= 4142 H。(2) “MOV AX,E”执行后,AX= 0016 H。(3) 用一条指令将B字符串中的字母“E”送AL: MOVAL,B+4 (4) 用一条指令将D变量中的第2、3个字节内容送AX: MOVAX,WORDPTRD+1 (5) 用一条指令将A变量中的第3字节送AL: MOVAL, BYTEPTRA+2 2. 某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串COMPUTER(不显示字符$!).试在空白处填上适当的一条指令。STRINGDBCOMPUTER,$MOVBX,0FFSET STRINGLOP:MOVDL,BXMOVAH,02HINT21H INCBX CMPBYTE PTR BX,$ JNELOP3. 分析下列程序,回答问题。第 4 页 共 4 页DATASEGMENTADB36HBDB0DH,0AH,NUM=CDB4 DUP(0)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBL,ALEASI,CMOVCH,2MOVCL,4NEXT:RORBL,CLMOVAL,BLANDAL,0FHCMPAL,9JNANADDAL,7N:ADDAL,30HMOVSI,ALINCSIDECCHJNZNEXTMOVBYTE PTRSI,HINCSIMOVBYTE PTRSI,$LEADX,BMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART请回答:(1)该程序的功能是:将A字节变量的数转换成两位十六进制的ASCII码送C中保存,并在显示器上显示从B变量开始的字符串“NUM=36H”。 (2)该程序中指令“RORBL,CL”的作用是:将BL寄存器中待转换的数的高4位移到低4位中,以便先转换高4位数。6、 程序设计题(共20分)(设计思路正确酌情给分)编程实现:把数据段BUFF区中各字符的排列顺序颠倒后放回原BUFF区,已知数据段定义如下。DATA SEGMENTBUFFDB COMPUTERHFJHSKFSJOVTJWORDCOUNTEQU $-BUFFDATA ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX, DATAMOVDS,AXMOVSI, OFFSET BUFF

温馨提示

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

最新文档

评论

0/150

提交评论