汇编语言学习:Debug的使用

时间:2021-12-09 14:42:46

参考:《汇编语言》  王爽 著

 

Debug 是DOS,Windows 都提供的实模式(8086方式)程序的调试工具,使用他可以查看CPU各种寄存器中的内容,内存的情况和在机器码级跟踪程序的运行。

主要的Debug功能:

  • R命令:查看、改变CPU寄存器的内容;
  • D命令:查看内存中的内容;
  • E命令:改写内存中的内容;
  • U命令:将内存中的机器指令翻译为汇编指令;
  • T命令:执行一条机器指令;
  • A命令: 以汇编指令的格式在内存中写入一条机器指令。

进入Debug,进入DOS,或者在windows下进入虚拟的8086模式的DOS。【win】+【R】后输入【command】,进入虚拟DOS,【Alt】+【Enter】可以全屏。输入Debug,(大小写不敏感)。出现一个【-】在其后输入命令就可以运行了。

                                               汇编语言学习:Debug的使用

用R命令查看、改变CPU寄存器的内容。

输入【r】显示内容:

                                汇编语言学习:Debug的使用

修改某个寄存器xx,可以使用:【r  xx】后确认,如:

                              汇编语言学习:Debug的使用

默认的都是十六进制的,在冒号后面就可输入心得寄存器数值。

输入【D】查看内存中的内容:

                              汇编语言学习:Debug的使用

默认显示8行,每行16个字节。可以使用【d 段地址:偏移地址】来查看特定段的数据,如:

                              汇编语言学习:Debug的使用

 

也可以使用【d 段地址:偏移地址  结尾偏移地址】来显示选定段的数据,如:

                              汇编语言学习:Debug的使用

输入【E】命令用来改写内存中的内容,输入【e 段地址:偏移地址 】再【Enter】就可以输入以给定地址开头的一串空间的数据,以空格间隔,【.】前的为原有数据,在后面输入新数据,不输入就直接【space】,如:

                            汇编语言学习:Debug的使用

                            汇编语言学习:Debug的使用

 

或者直接修改,输入【e 段地址:偏移地址】,在输入数据(可以问数字,1,3。。。字符串'a','b',…字符串"abcd","c++")。

输入【U】或者【U 段地址:偏移地址】,以汇编指令显示内存数据。如:

                           汇编语言学习:Debug的使用

输入【A】或【A 段地址:偏移地址 】,根据提示输入汇编的指令,以空行结束,如:

                                 汇编语言学习:Debug的使用

输入【T】执行指令,根据CS, IP的数据控制CS:IP。