debug是DOS、Windows都是提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和机器码级跟踪程序的运行。
win10系统下如何使用debug、link、masm等软件
用Debug的R命令查看、改变CPU寄存器的内容;
用法:在-后面输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter键,即完成了对AX中的内容的修改。若想看一下修改的结果,可在用R命令查看。其他寄存器,修改,只需把AX修改为想修改的寄存器名称即可。
用Debug的D命令查看内存中的内容;
用法:如果想知道内存10000H处的内容,可以用“d 段地址:偏移地址”即“d 1000:0”的格式来查看。
用法:输入:“d 1000:0 9”后按Enter键。
如果想看内存单元中的内容,可以用许多表示方式看到(一个物理地址可以用多种段地址与偏移地址来表示。)
用Debug的E命令改写内存中的内容;
用E命令向内存中写入机器码,用U命令查看内存中机器码的含义,用T命令执行内存中的机器码。比如:我们要从内存1000:0单元开始写入这样一段机器码:
机器码 对应的汇编指令
b80100 mov ax,0001
b90200 mov cx,0002
b90200 add ax,cx
如何查看写入的或内存中原有的机器码所对应的汇编指令呢?可以使用U命令,比如用U命令将从1000:0开始的内存单元中的内容翻译为汇编指令,并显示出来如图:
用Debug的U命令将内存中的机器指令翻译成汇编指令;
用Debug的T命令执行一条机器指令;
用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。
用法:输入“a 物理地址”后按Enter键,弹出地址,空格在后面输入指令,回车,然后弹出地址直接按enter键结束。
退出debug,输入:quit回车。