debug 命令使用祥解推荐.docVIP

  • 7
  • 0
  • 约9.26千字
  • 约 10页
  • 2018-06-09 发布于河北
  • 举报
debug 命令使用祥解推荐

debug 命令使用祥解 前段时间我在学习汇编语言,发现这语言不是太难学,他里面的算法思想和高级语言都是一样的,我在学这个之前学过c++ ,所以我才这样说的,学习一门语言固然重要,但是学会使用你所用的平台去调试也很重要,下面这个实验是我们现在正在上的接口原理实验,debug命令使用都是我们教员自己总结的,感觉很好,所以就发过来供大家分享。 实验1??DEBUG调试命令练习 一、实验目的 1、熟悉DEBUG调试程序的常用命令; 2、掌握利用DEBUG命令查看和修改CPU中寄存器及内存单元内容的方法; 3、学会汇编、反汇编、运行和调试简单程序段的方法。 二、实验内容和步骤 1、Debug程序的启动 方法1:键入debug后回车 只是装入Debug程序,并没指定要调试程序; 方法2:相继装入Debug程序和要调试的程序 格式: [路径]??debug filename 屏幕上出现提示符“-” 注意:filename必须是可执行文件,要带扩展名exe 2、Debug程序的退出 在提示符“-”后输入“Q”回车即可。 3、D命令 功能:显示数据段中指定单元或单元块的内容。 【例1】D1000↙ 结果显示128(80H)个字节的内容,一行16个字节,共8行。 其中每一行的第一列是数据段段寄存器DS的当前值,第二列是每一行的第一个字节在段中的偏移量,中间是16个单元的内容(十六进制),单元地址依次加1。最右边是该单元内容(十六进制形式的ASCII码)所对应的字符。 【例2】D DS:1000↙ 结果显示和上例相同,因此在没有定义具体的数据段时,可以省略DS。 【例3】D 1234:1000↙ 结果显示数据段中以1234H为段地址、偏移量从1000H开始的128个单元的内容。 该例定义了显示范围,显示结果的段地址不一定是段寄存器DS中的当前内容,而是一个指定的段地址。 【例4】D 1234:1000??100F↙ 结果显示数据段中以1234H为段地址、偏移量从1000H开始到100FH结束的16个单元的内容。 该例不仅定义了具体的段地址,而且定义了显示的起始和结束地址,不一定显示128个字节。 4、E命令 功能:修改内存单元内容 【例1】E 1000↙ 该命令的功能是从DS:1000H处修改若干个数据。 响应如下: 1BD3:1000??CD. 这里1BD3H是DS的当前值(每台计算机内容可能不一样),CDH是偏移量为1000H单元的原来内容。输入一个新的数据后,如果按空格键,将显示(修改)相邻高地址1001H单元的内容,输入新数据后再按空格键,将显示(修改)相邻高地址1002H单元的内容,以此类推。 如果输入新的数据后回车,将不再提示修改后面的单元内容。 【例2】E DS:1000↙ 功能和上例相同 【例3】E 1234:1000↙ 功能是修改数据段中以1234H为段地址、偏移量从1000H开始的单元内容。 5、命令U 功能:从代码段中指定的位置对机器代码进行反汇编,得到相应的助记符形式的指令。 【例1】U 1000↙ 功能是从代码段中以CS寄存器的值为段地址,偏移量为1000H开始的地方执行反汇编,一次反汇编32个字节的机器代码。 【例2】U↙ 若地址省略,如果是第一次使用U命令,则从CS、IP的当前地址处开始反汇编。如果不是第一次使用,则从上一个U命令的最后一条指令的下一单元开始反汇编32个字节。 【例3】U CS:1000↙ 同上例 【例4】U 1234:1000↙ 从指定的CS、IP地址开始反汇编 【例5】U 1234:1000??L9↙ 从指定的CS、IP地址开始反汇编,长度不是32个字节,而是9个字节。 6、寄存器的显示和修改命令R 【例1】R↙ 如果R后面什么都不带,这时R命令就用来显示所有寄存器内容,包括标志寄存器中的8个状态标志位的状态,并在最后提示下一条将要执行的指令。 【例2】RAX↙ 如果R后面跟上一个寄存器的名称,这时R命令就用来显示这个寄存器的内容并等待修改。 如RAX,系统将响应显示出AX的内容并在下一行显示出冒号。如果在冒号后键入进值后回车,AX即修改为新值;如果不输入新值而直接回车,则不改变原值。 【例3】RF↙ 功能是显示和修改标志位状态。 注意8位状态标志位不是以0或l的形式显示的,而是用两个字母显示的,这样更直观。字母和状态对应关系如下表所示: 标志名? ? ? ? 置位? ? ? ? 复位 溢出Overflow(是/否)? ? ? ? OV? ? ? ? NV 方向Direction(减量/增量)? ? ? ? DN? ? ? ? UP 中断Interrupt(允许/屏蔽)? ? ? ? EI? ? ? ? DI 符号Sign(负/正)? ? ? ? NG? ? ? ? PL 零Zero(是/否

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档