debug的命令使用

debug是DOS、Windows都是提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和机器码级跟踪程序的运行。
win10系统下如何使用debug、link、masm等软件
用Debug的R命令查看、改变CPU寄存器的内容;

查看各个寄存器的内容

用R命令修改寄存器AX的内容

用法:在-后面输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter键,即完成了对AX中的内容的修改。若想看一下修改的结果,可在用R命令查看。其他寄存器,修改,只需把AX修改为想修改的寄存器名称即可。

用Debug的D命令查看内存中的内容;


用D命令查看内存1000:0处的内容

用法:如果想知道内存10000H处的内容,可以用“d 段地址:偏移地址”即“d 1000:0”的格式来查看。


查看1000:0~1000:9单元的内容

用法:输入:“d 1000:0 9”后按Enter键。
如果想看内存单元中的内容,可以用许多表示方式看到(一个物理地址可以用多种段地址与偏移地址来表示。)
用3种不同的段地址和偏移地址查看同一物理地址中的内容

用Debug的E命令改写内存中的内容;

比如,要讲内存1000:0~1000:9单元中的内容分别写为:0、1、2、3、4、5、6、7、8、9,可以用“e的起始地址 数据 数据.......”的格式来进行,如图:
用E命令修改从1000:0开始的10个单元
可以用E命令向内存中写入字符,比如,用E命令从内存1000:0开始写入数值1、字符“a”、数值2、字符“b”、数值3、字符“c”,可采用如下图方法进行
用E命令向内存中写入字符
也可以写入字符串。
用E命令向内存中写入机器码,用U命令查看内存中机器码的含义,用T命令执行内存中的机器码。比如:我们要从内存1000:0单元开始写入这样一段机器码:
机器码   对应的汇编指令
b80100   mov ax,0001
b90200   mov cx,0002
b90200   add ax,cx
用E命令将机器码写入内存

如何查看写入的或内存中原有的机器码所对应的汇编指令呢?可以使用U命令,比如用U命令将从1000:0开始的内存单元中的内容翻译为汇编指令,并显示出来如图:


用U命令将内存单元中的内容翻译为汇编指令显示

用Debug的U命令将内存中的机器指令翻译成汇编指令;
用Debug的T命令执行一条机器指令;
用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。


用A命令向从1000:0开始的内存单元写入指令

用法:输入“a 物理地址”后按Enter键,弹出地址,空格在后面输入指令,回车,然后弹出地址直接按enter键结束。
退出debug,输入:quit回车。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容