北方工业大学计算机专业汇编语言课程实验二报告.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文档。上传文档
查看更多
PAGE 《汇编语言程序设计》报告书 ? ?? 学生姓名: 学号: 学 院: 信息工程学院? 专 业: 计算机科学与技术? 班 级: 指导教师: 杜春来 目 录 一.实验内容 1 二.实验模块设计(必须有流程图设计) 2 三.实验模块源码(必须有注释) 3 四.实验遇到的问题与解决方案 4 五.心得体会 4 第 PAGE 6页 实验内容 (1)将下面的数据段输入,取名为1.asm, 保存在MASM5文件夹下,生成.lst文件,不必连接运行,查看1.lst文件,试回答:DA1,DA2 的偏移量分别为多少? COUNT的值为多少? data segment org 20h num1=8 num2=num1+10h da1 db IBM PC da2 db 0ah,0dh count equ $-da1 data ends end DA1 DA2 的偏移量为: COUNT的值为: (2)Input the following instructions, and correct all the errors (don’t link or run it) data segment var1 db 0, 25, 0dh,300 //超过一个字节,300改为小于25的数 var2 db 12h,a4h,6bh //a4h改为0a4h var3 db ABCDEF var4 dw 1234h, 5678h var5 dw 10h dup(?) data ends code segment assume cs:code, de:data //de改为ds begin //begin后面加冒号 mov ax, data mov ds, ax lea si, var5 mov bx, offset var2 mov [si], 0abh //立即数送内存单元要指明字节或字,前面要加BYTE PTR mov ax, var1+2 //字节数据不能送字寄存器 mov [bx], [si] //内存单元之间不能传送数 mov var5+4, var4 mov ah, 4ch int 21h code ends end start //应改为end begin (3) 写一个完整的程序放在代码段C_SEG 中,要求把数据段D_SEG中的AGUEND和附加段E_SEG中的ADDEND相加,并把结果存放在D_SEG中的SUM中。其中AUGEND,ADDEND,SUM均为dw类型,AUGEND赋值为9251,ADDEND赋值为-5962。 调试步骤 (详见书P146~153) 1.编辑源程序,建立一个以后缀为 .ASM的文件. 2.汇编源程序,编译: c: \MASM5\masm xxxx.asm 检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。连接:c:\MASM5\link xxxx.obj 4. 运行: c: \MASM5\ xxxx..exe 5 调试:c:\winnt\system32\debug xxxx.exe 1)先用命令U反汇编整个程序,查看每条指令的物理地址,其显示内容的含义为: 内存地址 指令代码 反汇编的程序代码 -u 0B75:0000 1E PUSH DS 2)再用-t命令单步执行,检查各个寄存器的值变化情况 6.DEBUG调试可执行程序,记录数据段和附加段的内容。 二.实验模块设计(必须有流程图设计) 实验一: 实验二: 开始开始 开始 开始 Var1-5赋初值 Var1-5赋初值 初始值=0020 Da1=0020 Da1=0020 分配寄存器 分配寄存器 Da2=sum1+sum2=0026 Da2=sum1+sum2=0026 移动赋值操作C 移动赋值操作 Count=0008 结束结束 结束 结束 实验三: 开始 开始 给AUGEND赋值 给AUGEND赋值 给ADDEND赋值 给ADDEND赋值 利用MOV,ADD指令求出SUM 利用MOV,ADD指令求出SUM 结束 结束 三.实验模块源码(必须有

文档评论(0)

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

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

1亿VIP精品文档

相关文档