微机原理实验报告-1.docxVIP

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

《微机原理与接口技术》实验报告

PAGE5

《微机原理与接口技术》

实验报告

实验名称:指令与汇编基础

学院:信息科学技术学院

专业:电子信息工程

班级:2009级理科实验班

学号:20091613310032

姓名:姬晓鹏

2011年11月17日

实验目的

1.了解命令行操作的基本方式和基本命令,掌握PC环境下命令行方式的特点;

2.掌握汇编语言程序指令编辑、宏汇编、连接、运行基本概念;

3.学会利用DEBUG检查认识指令功能的正确方法。

实验内容

1.汇编语言汇编、链接、运行、调试:

(1)所需文件:Masm.exe、link.exe,另外WindowsXP自身有的和debug.exe(C:\windews\system32)。

(2)建立asm程序.

asm程序可以使用记事本编辑,然后保存为*.asm文件,或者使用edit程序创建。

题目:请把40个字母a的字符串从原缓冲区传送到目的缓冲区。程序如下:

;************************************************************

datasegment

source_bufferdb40dup(a)

dataends

;************************************************************

extrasegment

dest_bufferdb40dup(?)

extraends

;************************************************************

codesegment

mainprocfar

assumecs:code,ds:data,es:extra

start:pushds

subax,ax

pushax

movax,data

movds,ax

movax,extra

moves,ax

leasi,source_buffer

leadi,dest_buffer

cld

movcx,40

repmovsb

ret

mainendp

codeends

endstart

;************************************************************

(3)进行汇编:切换cmd到*.asm所在的文件目录下,运行masm*.asm,再回车,出现如下界面。

(4)用link程序产生exe文件。

(5)程序的运行:

在cmd窗口中输入:test.exe运行程序,由于没有显示程序结果,需要进一步的调试。

(6)调试:

在cmd窗口中输入:debugtest.exe(需要加*.exe后缀名)然后使用反汇编命令u,得到结果如下图所示:

从上图中可以看到程序的偏移量为1c,运行g命令:-g=01c可以看每个寄存器的值。

可以使用D命令分别查看数据段和附加段的有关区域,如查看数据段:-dds:0,查看附加段:-des:0

从上图的结果可以发现,40个“a”已从数据段传送到附加段。

问题与思考

进行实验时遇到什么问题,如何解决?

使用debugtest命令时,提示“Filenofound”。

解决方法:debug调试程序时,需要加文件的后缀名*.exe,否则提示找不到文件,而masm和link后的文件可以加后缀名,也可以不加。

替换movsb、rep指令时,使用的程序如下:

again:moval,[si]

mov[di],al

addsi,1

adddi,1

deccx

文档评论(0)

158****0159 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档