参考:《汇编语言》 王爽 著
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,(大小写不敏感)。出现一个【-】在其后输入命令就可以运行了。
用R命令查看、改变CPU寄存器的内容。
输入【r】显示内容:
修改某个寄存器xx,可以使用:【r xx】后确认,如:
默认的都是十六进制的,在冒号后面就可输入心得寄存器数值。
输入【D】查看内存中的内容:
默认显示8行,每行16个字节。可以使用【d 段地址:偏移地址】来查看特定段的数据,如:
也可以使用【d 段地址:偏移地址 结尾偏移地址】来显示选定段的数据,如:
输入【E】命令用来改写内存中的内容,输入【e 段地址:偏移地址 】再【Enter】就可以输入以给定地址开头的一串空间的数据,以空格间隔,【.】前的为原有数据,在后面输入新数据,不输入就直接【space】,如:
或者直接修改,输入【e 段地址:偏移地址】,在输入数据(可以问数字,1,3。。。字符串'a','b',…字符串"abcd","c++")。
输入【U】或者【U 段地址:偏移地址】,以汇编指令显示内存数据。如:
输入【A】或【A 段地址:偏移地址 】,根据提示输入汇编的指令,以空行结束,如:
输入【T】执行指令,根据CS, IP的数据控制CS:IP。