利用DEBUG调试汇编语言程序段一.实验目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。二.实验内容1.进入和退出DEBUG程序;1)开始—运行,输入cmd,点确定进入命令窗口2)在命令窗口中输入dubug进入debug程序3)进入debug窗口后,输入q命令退出debug2.学会DEBUG中的1)D命令(显示内存数据D段地址:偏移地址)例1:-D100;显示DS段,0100开始的128个字节内容说明:指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。①DSEGREG[起始地址][L长度];显示SEGREG段中(缺省内默认为DS),以[起始地址](缺省内为当前的偏移地址),开始的[L长度](缺省内默认为128)个字节的内容.②DSEGREG[段地址:偏移地址];显示SEGREG段中(缺省内默认为DS),[段地址:偏移地址]开始的[L长度](缺省内默认为128)个字节内容-D;默认段寄存器为DS,当前偏移地址(刚进入debug程序偏移地址为0100H)-DDS:100;显示DS段,0100H开始的128个字节内容-DCS:200;显示CS段,0200H开始的128个字节内容-D200:100;显示DS段,0200:0100H开始的128个字节内容-D200;显示DS段,0200H开始的128个字节内容-D100L10;显示DS段,100H开始的100H个字节内容2)E命令(修改指定内存)例1:-E1004142434448474645-D100,L08结果:08F1:01004142434448474645例2:-E100:08F1:01007642:42是操作员键入此命令是将原100号内存内容76修改为42,用D命令可察看。①E地址;从指定地址开始,修改(或连续修改)存储单元内容。DEBUG首先显示指定单元内容,如要修改,可输入新数据;空格键显示下一个单元内容并可修改,减号键显示上一个单元内容并可修改;如不修改,可直接按空格键或减号键;回车键结束命令。②E地址数据表;从指定的地址开始用数据表给定的数据修改存储单元。-EDS:100F3‘AB’8D;把DS段中0100H开始的四个字节修改为F3‘AB’(A和B的ASCII码)8D也可以按下面的方式实现3)R命令(显示当前寄存器的内容)显示修改寄存器命令RR;★显示所有寄存器和标志位状态;★显示当前CS:IP指向的指令。显示标志时使用的符号:标志标志=1标志=0OFOVNVDFDNUPIFEIDISFNGPLZFZRNZAFACNAPFPEPOCFCYNC4)T命令(设置陷井,单步执行)①T;从当前IP开始执行一条指令。②T数值;从当前IP开始执行多条指令,数值:执行的指令条数。②T=地址;从给定的地址执行一条指令③T=地址数值;从给定的地址执行多条指令,数值:执行的指令条数.-T;从当前IP开始执行一条指令-T5;从当前IP开始执行5条指令-T=1005;从当前0100H开始执行5条指令5)A命令(将指令直接汇编成机器码输入到内存中。)汇编命令AA[地址];从指定的地址开始输入符号指令;如省略地址,则接着上一个A命令的最后一个单元开始;若第一次使用A命令省略地址,则从当前CS:IP开始(通常是CS:100)。注释:①在DEBUG下编写简单程序即使用A命令。②每条指令后要按回车。③不输入指令按回车,或按Ctrl+C结束汇编。④支持所有8086符号硬指令,伪指令只支持DB、DW,不支持各类符号名。使用A命令在0100H开始输入指令movax,10inccxmovbl,al单步执行上述指令6)G命令等的使用(执行A命中输入的汇编指令)运行程序命令G①G;从CS:IP指向的指令开始执行程序,直到程序结束或遇到INT3。②G=地址;从指定地址开始执行程序,直到程序结束或遇到INT3。③G断点1[,断点2,…断点10];从CS:IP指向的指令开始执行程序,直到遇到断点。④G=地址断点1[,断点2,…断点10]-G;从CS:IP指向的指令开始执行程序。-G=100;从指定地址开始执行程序。-G=100105110120使用A命令在0100H开始输入指令movax,10inccxmovbl,alint3然后使用g命令执行上面的例子设断点在100H处然后用T命令单步执行3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。7)命名命令N格式:N文件标志符1[,文件标志符2]文件标志符是包含路径的文件全名。8)写盘命令W把主存内容保存到磁盘三.实验要求1.仔细阅读有关DEBUG命令的内容,对有关命令,要求事先准备好使用的例子;四.实验环境PC微机DOS操作系统或Windows操作系统MASM.EXE,LINK.EXE,DEBUG.CO...