郑州大学11级32位汇语编言程序设计A卷及答案.docxVIP

郑州大学11级32位汇语编言程序设计A卷及答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
郑州大学11级32位汇语编言程序设计A卷及答案

2011级 汇编语言程序设计 课程试题(A卷)题号一二三四五六七总分分数合分人: 复查人: 一、填空题(每空1分,共15分)分数评卷人1.用汇编语言书写的程序叫做 ,MASM要求该文件的扩展名是 ,编写32位Windows应用程序应选择 存储模型。2.汇编语言语句有两种,分别是 和 。3.除外设数据外的数据寻址方式有3类,分别称为 、 和 寻址。4.进行Windows应用程序开发时,需要 库文件,执行该应用程序时,则需要对应的 库文件。5.汇编语言与C和C++语言有两种混合编程方法,分别是 和 。6.IA-32处理器有 个32位通用寄存器,有 个段寄存器,段寄存器都是 位的。二、判断题(每题1分,共10分) 分数评卷人1.Windows的模拟DOS环境与控制台环境是一样的。 ( )2.“TYPE DX”的结果是一个常量,等于2。 ( )3.数据扩展的基本原则是位数加长,数值大小不变。 ( )4.指令的相对寻址都是近转移。 ( )5.JA和JG指令的条件都是“大于”,所以是同一个指令的两个助记符。 ( )6.CALL指令的执行必然影响堆栈指针ESP。 ( )7.在宏定义中,LOCAL伪指令声明标识符;而在过程定义中,LOCAL伪指令用于分配局部变量。 ( )8.指令“OUT DX,AX”的两个操作数均采用寄存器寻址方式。 ( )9.MASM32软件包既支持32位图形界面应用程序的开发,也支持控制台应用程序开发。 ( )10.程序终止执行也就意味着汇编结束,所以两者含义相同。 ( )三、按下面要求写出相应的数据定义语句或汇编指令(变量名可任意指定)(每小题2分,共12分)分数评卷人定义字符串变量:assembly language定义20个未赋值的字变量定义符号常量str,表示字符串assembly language定义用十六进制数表示的双字变量:20用寄存器EBX和ESI的基址变址寻址方式把存储器的一个双字与EAX寄存器的内容相加,并把结果送回存储器中。用一条汇编指令完成该功能。用一条汇编指令实现将寄存器EAX和标志位CF、OF同时清零。四、程序分析与阅读题(共 28分)分数评卷人1.根据数据段定义的变量,分析下列指令的运行结果并填在空格里(每空1分,共8分).data array qword 1234567887654321h.codemov eax,dword ptr array ;EAX= _______mov ebx,dword ptr array+4;EBX= _______sub al,bl;EAX= _______,CF= _______,OF= _______;ZF= _______,SF= _______ PF= _______2.指出如下语句的错误,并改正(其中var1和var2是两个双字变量)(每小题2分,共8分)① add eax,bx② mov var1, var2③ push al④ mov [ebx],1003.有如下程序片断,请使用一条指令实现该程序段所完成的功能(每小题2分,共4分) ① mov eax,ebxmov ebx,[edi]mov [edi],eax__________ ② mov al,[esi] mov [edi],al inc esi inc edi__________ 4.如下程序段实现在一个已知长度(长度为count)的串string中查找是否存在子串bug的功能,如果找到则显示“Y”,否则显示“N”。请在空白处填上恰当的语句。(每空2分,共8分)mov ecx,countmov edi,offset stringL1:mov esi,offset bugpush edimov edx,sizeof bugLN:mov al,[esi]__________ jne L2inc esiinc edi__________ jne LNpop edimov al,Y__________ L2:pop edi__________ loop L1mov al,NL3:call dispc五、编程题:(共35分)分数评卷人1.(5分)将调用字符串输入子程序readmsg编写成一个宏readstring,其中宏的参数是输入缓冲区的名称msg,实际输入字符的个数存入ecx寄存器中。子程序名参数及功能说明READMSG入口参数:EAX=缓冲区地址 功能说明:输入一个字符串(回车结束)出口参数:EAX=实际输入的字符个数(不含结尾字符0)2.(8分)编程直接调用Windows控制台API函数显示“Hello,Assembly! ”。控制台API函数位于动态连接库KERNEL32.DLL中,标准输出

文档评论(0)

yd327298 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档