实验一熟悉使用调试工具软件DEBUG编写汇编语言时,如果源程序中存在语法或格式上的错误,在汇编和链接过程中都可以被发现并得以纠正。但是如果在源程序中存在逻辑错误时,就只能通过调试来纠正了。常用的调试工作软件是DEBUG。DEBUG提供了修改寄存器和内存单元内容的命令,可以方便地修改寄存器及内存单元的内容,为调试和修改程序带来的方便。1、DEBUG的启动在windows环境下,点击开始栏里的运行窗,输入debug。2、DEBUG的主要命令这里只介绍常用的几个debug命令,其他命令请参考相关文献。1)R命令R命令作用:观看和修改寄存器的值。在提示符“-”下输入命令R,DEBUG将会显示出当前所有寄存器和标志位的状态。在R后面输入相关的寄存器名称,可修改相关的寄存器值。2)D命令D命令作用:显示内存区域的内容。在提示符“-”下执行命令D,可观察当前存储单元的内容。用命令D显示内存区域的内容时,最左边是内存的起始地址,中间以十六进制的形式显示内存值,最右边是以ASCII码的形式显示内存值。每行最多显示16个字节的内容。命令D可以带参数也可省略参数。设DEBUG启动时DS的值为X,当省略参数时,命令D显示内容以X:100为起始,每次显示128个字节的内容。以后再执行不带参数的命令D时,DEBUG将按上次的位置接着显示下去。带参数时DEBUG能够显示指定地址范围的内容。带参数的方式有三种:方式一:d[起始位置]。DEBUG从起始位置开始显示128个字节的内容。在提示符“-”下执行命令D1AF5:100。观看命令执行结果。方式二:d[起始位置][结束位置]。DEBUG从起始位置开始一直显示到结束位置。在提示符“-”下执行命令DDS:1001FF。观看命令执行结果。方式三:d[起始位置][L长度],长度以L参数为标识。DEBUG从起始位置开始显示指定长度的内容。在提示符“-”下执行命令DDS:100L10。观看命令执行结果。3)E命令E命令作用:改变内存单位的内容。E命令的使用方式为:E[起始位置]。在提示符“-”下输入以下命令:E1AF5:100。DEBUG首先显示[1AF5:0000]的内容00.,这时可以修改该字节的值。如果还要修改后续的内容,可以按空格键继续。当要跳过某个字节时,可以按连续的两个空格跳到后一个字节去。4)A命令A命令作用:输入汇编指令。以下的程序要在屏幕上显示“ABCD”四个字符。首先用E命令将“ABCD$”四个字符预先放在内存CS:200处,然后执行A100命令输入汇编程序代码:MOVAX,CSMOVDS,AXMOVDX,200MOVAH,9INT21INT20(说明:前两行汇编指令用于将段寄存器CS的值赋给段寄存器DS。第三到第五行汇编代码的作用是显示以“$”为结尾的字符串。最后一行用于结束程序。5)G命令G命令作用:执行汇编指令。G命令的使用方法是:G[=起始地址][断点地址],意思是从起始地址开始执行到断点地址。如果不设置断点,则程序一直运行到中止指令才停止。6)U命令U命令作用:对机器代码反汇编显示。U命令的使用方法是:U[范围]。如果范围参数只输入了起始地址,则只对20H个字节的机器代码反汇编。7)T命令T命令作用:执行汇编程序,单步跟踪。T命令的使用方式是T[=地址][指令数]。如果忽略“地址”的话,T命令从CS:IP处开始运行。“指令数”是要单步执行的指令的数量。8)P命令P命令作用:执行汇编程序,单步跟踪。与T命令不同的是:P命令不会跟踪进入子程序或软中断。P命令的使用方式与T命令的使用方式完全相同。9)Q命令Q命令的作用是退出DEBUG,回到DOS状态。从DOS返回WINDOWS使用EXIT命令。10)C命令C命令作用:将两块内存的内容进行比较。C命令的使用方式为:C[范围][指定地址],意思就是将指定范围的内存区域与从指定地址开始的相同长度的内存区域逐个字节进行比较,列出不同的内容。例:-C100,10F300(该命令将100H~10FH的数据块与300H~30FH的内存数据块进行比较,不同的内容会被列出来,相同的则不处理)实验内容:1、数据传送指令的使用练习。在DEBUG环境中,利用A命令输入以下程序后,使用T命令观察每条指令的运行结果。(DEBUG中默认操作数为十六进制)MOVSP,00B0MOVAX,1234MOVBX,5678MOVCX,9ABCMOVDX,DEF0MOVWORDPTR[2000],5566MOVDI,[2000]PUSHAXPUSHBXPUSHCXPUSHDX2、算数运算指令的使用练习。在DEBUG环境中,利用A命令输入以下内容,然后利用T命令单步运行,分析每条指令后的结果。MOVAX,1234MOVBX,5678ADDAX,BXMOVCX,9ABCSUBCL,CHMOVBYTEPTR[2000],55INCBYTEPTR[2000]MOVAX,0020MOVBL,08DIVBLMOVAL,02MOVCL,10MULCLMOVAL,06CBWMOVAX,1050CWD实验报告要求:1、记录实验步骤和出现的现象,按照要求记录显示结果。2、比较实验记录和理论分析的结果是否相同,如果不同找出差别并分析原因。3、总结本次实验。