如题所述
第1个回答 2016-04-17
debug调试程序是以DOS外部命令程序形式提供的,它的文件名为Debug.com 。如果你使用的是windows系统,那么如果是32位的电脑,一般都自带有debug调试工具,而64位的一般没有自带这个工具,需要自己进行安装。XP系统暂时不作介绍,读者可以参照我介绍的方法进行尝试。首先,点开windows开始图标。在收索框里输入cmd,注意是cmd,不是debug,虽然输入debug也可以,但是在后续的程序调试中会出现一些问题。输入cmd并按回车后即可打开调试工具了。
若直接输入debug打开,工作界面与输入cmd打开有所不同,建议还是通过cmd打开debug。
打开cmd程序后,输入debug,大小写均一样,习惯用大写,为方便操作,后续的操作我一律使用小写。输入之后按回车,会出现下图所示的工作框。
在debug窗口就可以进行汇编语句的编写和调试了。先在窗口输入A,然后回车,系统自动分配到内存,如本图所示,其中13F1是寄存器的段基址,冒号后面的0100是偏移地址,对应的物理地址是13F1100,即程序在此地址下开始存储。然后输入汇编语句,举一个简单的例子,将数据2341H送入寄存器ax和cx中。记住输入的数据在汇编是已经默认是十六进制,不需要在加h,否则会显示错误。
再举另一个例子,将21h和23h两个数相加,结果存放到al中。并通过命令符t一步一步执行,看结果。每输入一个t,按回车后即完成一条指令,第一条指令是将21h送入到ax寄存器的低位al中,看到ax的值变成了0021;第二步执行的是将21h与23h相加,并将结果存放到al中,所执行之后看到ax的值由0021变成了0044 。注意到两条指令执行后,IP的值发生了改变,即地址指针发生了改变。NV、UP、EI、PL、NZ、NA、PO、NC代表的是标志寄存器的状态位,在此不做进一步介绍,查阅相关书籍都会有详细的介绍。
现在来给大家介绍一下常用的几个命令符。a:逐行汇编;u:反汇编;t:逐行执行命令;d:显示一定内存单元内容,再次输入将在原显示内容上继续显示下面内存的内容;q:退出debug回到dos状态;r:改变或显示一个或多个寄存器的内容;n:命名文件;w:将已命名文件写入磁盘;l:将程序装载进内存。
暂时介绍这些常用的几个。有需要的读者可以去网上收索更详细的命令符。
下面给大家演示一个简单的例子,并使用这些命令符。
存盘后要想查看已存内容,可以先用q退出,然后输入dir回车,即可看到文件下的所以目录。可以看到自己命名的文件
步骤阅读本回答被网友采纳
若直接输入debug打开,工作界面与输入cmd打开有所不同,建议还是通过cmd打开debug。
打开cmd程序后,输入debug,大小写均一样,习惯用大写,为方便操作,后续的操作我一律使用小写。输入之后按回车,会出现下图所示的工作框。
在debug窗口就可以进行汇编语句的编写和调试了。先在窗口输入A,然后回车,系统自动分配到内存,如本图所示,其中13F1是寄存器的段基址,冒号后面的0100是偏移地址,对应的物理地址是13F1100,即程序在此地址下开始存储。然后输入汇编语句,举一个简单的例子,将数据2341H送入寄存器ax和cx中。记住输入的数据在汇编是已经默认是十六进制,不需要在加h,否则会显示错误。
再举另一个例子,将21h和23h两个数相加,结果存放到al中。并通过命令符t一步一步执行,看结果。每输入一个t,按回车后即完成一条指令,第一条指令是将21h送入到ax寄存器的低位al中,看到ax的值变成了0021;第二步执行的是将21h与23h相加,并将结果存放到al中,所执行之后看到ax的值由0021变成了0044 。注意到两条指令执行后,IP的值发生了改变,即地址指针发生了改变。NV、UP、EI、PL、NZ、NA、PO、NC代表的是标志寄存器的状态位,在此不做进一步介绍,查阅相关书籍都会有详细的介绍。
现在来给大家介绍一下常用的几个命令符。a:逐行汇编;u:反汇编;t:逐行执行命令;d:显示一定内存单元内容,再次输入将在原显示内容上继续显示下面内存的内容;q:退出debug回到dos状态;r:改变或显示一个或多个寄存器的内容;n:命名文件;w:将已命名文件写入磁盘;l:将程序装载进内存。
暂时介绍这些常用的几个。有需要的读者可以去网上收索更详细的命令符。
下面给大家演示一个简单的例子,并使用这些命令符。
存盘后要想查看已存内容,可以先用q退出,然后输入dir回车,即可看到文件下的所以目录。可以看到自己命名的文件
步骤阅读本回答被网友采纳