说明:括号内的红色为助记。
一、什么是Debug
Debug是DOS、Windows提供的实模式(8086方式)程序的调试工具。使用它,可以查看cpu各种寄存器的内容、内存的情况和在机器码级跟踪程序的运行。
二、常用的Debug功能
①用Debug的 R命令(Register) 查看、改变CPU寄存器的内容;
②用Debug的 D命令(DRAM) 查看内存中的内容;
③用Debug的 E命令(Edit)改写内存中的内容;
④用Debug的 U命令 将内存中的机器指令翻译成汇编指令;
⑤用Debug的 T命令 执行一条机器指令;
⑥用Debug的 A命令 以汇编指令的格式在内存中写入一条机器指令;
⑦用Debug的 G命令(Go)执行到指定地址的指令处。
⑧用Debug的 P命令 在遇到loop时使用可以执行到循环结束。
Debug中的命令比较多,共有20多个,但这六个是和汇编学习密切相关的。
三、进入Debug
Debug是在DOS下使用的程序。我们在进入Debug前,应先进入DOS。可使用以下方法进入:
①重新启动计算机,进入DOS模式,此时进入的是实模式的DOS;
②在Windows下进入DOS模式,此时进入的是虚拟8086模式的DOS。方法:开始->运行->cmd->debug。
进入Debug后,会有'-'命令提示符,提醒用户输入命令。
四、常用命令实战
4.1 使用命令查看、改变CPU寄存器的内容
直接使用命令r(在命令提示符‘-’后直接输入,不区分大小写),效果如下:
途中格式为:前两行从AX、BX到IP为寄存器名称和各自的值,第二行后面的NV、UP等为标志寄存器;第三行13B2:0100 0000 ADD [BX+SI],AL格式含义为:CS:IP CS:IP所指的机器码 对应的汇编指令;最后的DS:0000=CD咱不探究。
疑问:CS:IP对应机器指令为0000,似乎不太正确?教材027548对应ADD DH,[DI+48],希望以后能够解决这个问题。
待续...