《汇编语言》实验报告_搭建开发环境.docVIP

《汇编语言》实验报告_搭建开发环境.doc

  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文档。上传文档
查看更多
. Word资料 《汇编语言》实验报告 得分: 班级 **** 姓名 *** 学号 ***** 实验名称 搭建开发环境 实验室号 **** 实验目的 搭建汇编语言的开发环境,熟悉汇编程序开发的基本步骤,掌握基本的调试操作。 实验要求 基于VISUAL STUDIO 平台,结合MASM32的汇编器,构建IA-32汇编语言的开发环境。 实验内容 VC6平台下的汇编语言开发环境搭建(使用MASM32的汇编器+VC6) 配置IDE环境: 在VC的tools/option/Directories页面中添加Irvine32.inc等所在的目录到include files中; 添加Irvine32.lib等所在的目录到library files. 将masm32中的ml.exe和ml.err拷贝到VC的Microsoft Visual Studio\VC98\Bin目录中 创建与配置project: 新建VC的win32 console类型空工程 创建一个asm后缀的文件,并把汇编代码(教材第85页addsub3.asm)输入该文件中,然后将该asm文件添加到Source Files 选中asm文件,在project settings/Custom Build页面中命令行加: ml /c /coff /Fo$(TargetDir)\$(InputName).obj $(InputPath) 输出中加上: $(TargetDir)\$(InputName).obj “Project setting”页面的”link”选项卡中“object/library module ”中加入irvine32.lib 汇编与链接不带输出的加减法程序(即教材第85页addsubTest.asm); 在程序最后加入调用DumpRegs过程的语句,以输出各寄存器的值。 以单步执行的方式调试该程序,查看每步结果,并解释每步结果,并写成注释。(特别注意对标志位的影响) (可选)尝试修改程序。 (可选)单步跟踪课件中4.3.3节的程序“ptr应用示例”,结合VC6的内存查看功能(通过菜单view?debug windows?Memory调出内存查看窗口)理解每步的执行结果。(注意课件中只是大部分代码,请补全头文件以及程序退出宏。) 一、配置IDE环境: 添加Irvine32.lib等所在的目录到library files; 添加添加Irvine32.inc等所在的目录到include files中; 3. 将masm32中的ml.exe和ml.err拷贝到VC的Microsoft Visual Studio\VC98\Bin目录中 二、创建与配置project: 2.编辑教材85页不带输出的程序 代码如下: .386 .model?flat,stdcall .stack?4096 ExitProcess?PROTO,?dwExitCode:DWORD DumpRegs?PROTO .data Rval??SDWORD?? Xval??SDWORD?26 Yval??SDWORD?30 Zval??SDWORD?40 .code main?PROC mov??ax,1000h?? inc??ax dec??ax mov??eax,Xval neg??eax mov??ebx,Zval add??eax,ebx mov??Rval,eax mov??cx,1 sub??cx,1 mov??ax,0FFFFh inc??ax mov??cx,0 sub??cx,1 mov??ax,7FFFh add??ax,2 mov??al,0FFh add??al,1 mov??al,+127 add??al,1 mov??al,-128 sub??al,1 call?DumpRegs INVOKE?ExitProcess,0 main?ENDP END?main 结果: 3. 输出各寄存器的值。 DumpRegs PROTO 程序最后加入调用DumpRegs过程的语句 call DumpRegs 输出结果如下: 4.单步执行的方式调试该程序,查看每步结果,并解释每步结果,并写成注释。(特别注意对标志位的影响) 1、按F10进行调试、alt+F5调出寄存器的变化信息框。 程序及标志位解读如下: .386 .model flat,stdcall .stack 4096 ExitProcess PROTO, dwExitCode:DWORD DumpRegs PROTO .data Rval SDWORD ? Xval SDWORD 26 Yval SDWORD

文档评论(0)

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

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

1亿VIP精品文档

相关文档