汇编语言程序设计上机实验

汇编语言程序设计上机实验

ID:1253653

大小:1.30 MB

页数:12页

时间:2017-11-09

汇编语言程序设计上机实验_第1页
汇编语言程序设计上机实验_第2页
汇编语言程序设计上机实验_第3页
汇编语言程序设计上机实验_第4页
汇编语言程序设计上机实验_第5页
资源描述:

《汇编语言程序设计上机实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告汇编语言程序设计实验报告系班级学号姓名指导教师陆勤实验一汇编语言运行环境及方法、简单程序设计一、程序说明本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Match’,否则显示‘N

2、omatch’二、结合你的调试过程,整理其中用到的debug命令的使用方法和效果截图,并解释每一步骤的结论用汇编程序masm对源文件汇编产生目标文件objC:masm5sample用连接程序link尝试执行文件exe执行程序使用debug程序调试-g命令运行程序-u命令显示程序,了解命令地址-g0b将断点设置在程序的主要部分以前-d0根据其中只是的ds寄存器内容查看数据段情况,显示地址0及地址0后面数据e命令修改数据区的字符串q命令退出debugt命令逐条跟踪程序的执行e命令修改一段字符串一

3、、调试中遇到的问题及解决方法E命令修改数据区的一个字符,而不是一段字符串实验二用DEBUG编程:使用堆栈段将AX和BX的内容进行交换等一、程序说明:1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0E

4、H。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。二、调试说明第一部分先将程序编好后,在DOS环境下用masm程序生成obj文件,再用link程序生成exe文件,然后进入debug进行调试,用-t命令逐步运行程序,查看AX和BX中内容的变化。如果发现AX和BX中的内容进行了交换,则说明程序运行成功。进入debug程序,先用—u指令查看一下程序,结果如下:用—t指令逐步调试,结果如下:第二部分:如前面第一章最终生成可执行程序

5、。也可进入进入debug进行编写,如下:三:程序清单和执行结果:第一个程序清单:DATASSEGMENTDATASENDSSTACKSSEGMENTSTACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXMOVAX,3000HMOVBX,5000HPUSHAXMOVAX,BXPOPBXMOVAH,4CHINT21HCODESENDSENDSTART在debug中进行调试,逐步执行结果:第二个程

6、序清单:DATASSEGMENTDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVBX,0300hMOVSI,0002hMOVAH,4CHINT21HCODESENDSENDSTART在debug中进行调试,逐步执行结果:实验三、存储器块清零和内存块移动一、程序说明:第一个程序是存储块清零。程序流程大概为首先设置起始地址,然后设置块长度,然后将当前地址内容清零,地址加1,然后查看是否清除完全,若没有则回

7、到当前地址清零,然后再查看,直到地址内容清除完,结束程序。第二个程序是内存块移动。程序流程框图为:首先设置块的源地址,然后设置筷的目的地址,然后再设置移动长度,然后按长度重复传送数据,然后结束。二、调试说明:第一个程序在进入debug后,先用-u指令查看一下程序,再将断点设置在指令Loopagain之后,通过指令-g加上指令Loopagain后的地址,将程序运行到Loopagain之后停止,然后再通过-d指令查看相关内存内容是否被清零。第二个程序在进入到debug后,先用-u指令查看一下程序,再

8、将断点设置在指令repmovsb之前,通过指令-g运行后,然后用-d指令查看一下内存块的相关内容,得到的结果如下:三:源程序代码和执行结果:实验一:datasegmentblockdb256dup(55h)dataendscodesegmentassumecs:code,ds:datastartprocnearmovax,datamovds,axmovbx,offsetblockmovcx,256again:mov[bx],byteptr0incbxloopagainjmp$codeendsen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。