实验报告
汇编语言程序设计 实验报告
系
班级
学号
姓名
指导教师 陆勤
实验一 汇编语言运行环境及方法、简单程序设计
一、程序说明
本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Match’,否则显示‘Nomatch’ 二、结合你的调试过程,整理其中用到的debug命令的使用方法和效果截图,并解释每一步骤的结论
用汇编程序masm对源文件汇编产生目标文件obj C:\\masm5\\sample
用连接程序link尝试执行文件exe
执行程序
使用debug程序调试
-g命令运行程序
-u命令显示程序,了解命令地址
-g0b将断点设置在程序的主要部分以前
-d0根据其中只是的ds寄存器内容查看数据段情况,显示地址0及地址0后面数据
e命令修改数据区的字符串
q命令退出debug
t命令逐条跟踪程序的执行
e命令修改一段字符串
三、调试中遇到的问题及解决方法
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,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
二、调试说明 第一部分先将程序编好后,在DOS环境下用masm程序生成obj文件,再用link程序生成exe文件,然后进入debug进行调试,用-t命令逐步运行程序,查看AX和BX中内容的变化。如果发现AX和BX中的内容进行了交换,则说明程序运行成功。
进入debug程序,先用—u指令查看一下程序,结果如下:
用—t指令逐步调试,结果如下:
第二部分:如前面第一章最终生成可执行程序。也可进入进入debug进行编写,如下:
三:程序清单和执行结果: 第一个程序清单: