■启动DEBUG
debug [文件标识符[参数表]]
C>debug
C>debug HELLO.EXE
退出DEBUG
DEBUG提示符:Q
■常用命令:
● r命令:查看或者改变CPU寄存器的内容。
查看寄存器:r 如图5-9所示。
改变某个寄存器内容:r 寄存器(如:ax),之后按下Enter出现“:”,再输入值。
图5-9 debug调试r命令
查看内存内容:d 段地址:偏移地址 (结束的偏移地址,可忽略)。
注意:直接使用d命令,显示的是debug预设地址处的内容。
图5-10 debug调试d命令
改变内存内容:e 段地址:偏移地址 写入的数据(按空格键输入下一个字节)。
也可以通过e 段地址:偏移地址 "字符串" 这种方式向内存中写入字符串的16进制值。
图5-11 debug调试e命令
机器指令翻译成汇编指令:u 段地址:偏移地址。
注意:如果直接使用命令u,debug将会把CPU中CS:IP指向的内存内容翻译成汇编指令。
图5-12 debug调试u命令
图5-13 debug调试t命令
写入汇编指令:a 段地址:偏移地址,按下enter键后,输入汇编指令,当不想输入时直接按enter退出输入。
图5-14 debug调试a命令
提示
1.DEBUG接受和显示的数都是16进制数。
2.命令都是一个字母,命令参数随命令而异。
3.命令和参数可以用大写或小写字母或混合大写方式输入。
4.命令和参数间,可以用定界符(空格、制表符,逗号等)。但是定界符只是两个相邻的16进制数之间是必需的。如下面的命令是等效的:
DCS:100 110
D CS:100, 110
D, CS:100, 110
5.在提示符出现时,可键入DEBUG命令,只有在回车键后,命令才开始执行。
6.若DEBUG检查出一个命令错误,提示符为“^ Error”。
7.在输入DEBUG命令时,可以用常用的编辑键。
8.可以用Ctrl+Break键或Ctrl+C键来打断一个命令的执行,返回DEBUG提示符。
9.若一个命令产生相当多的输出行时,为了能看清屏幕上的显示内容,可按Ctrl+S键,暂停显示。
■参数说明
1.地址:地址参数有段值和偏移两部分组成。段值可以用一个段寄存器表示,也可以用4位16进制数表示,偏移用4位16进制数表示。
2.端口地址:使用于输入输出命令,端口地址是一个两位16进制数。
3.范围:用于指定内存区域(缓冲区),两种方式表示:一起始地址和结束地址。二起始地址和长度表示。长度必须L字母引导。范围最大为64K,即0~0FFFFH。
4.数值:数值参数一般表示命令重复的次数,最多可以是4位16进制数。
5.字节值:字节值参数表示输出到端口的值,最多可以是2位16进制数。
6.字节值表参数:表示要替换或查找的若干个以字节为单位的值。各值间由空格等间隔符分隔。字节值表可以含字符串,字符串必须用引号括起来。
7.驱动器号参数:表示要读写扇区所在的驱动器。0代表A驱动器,1代表B驱动器,2代表C驱动器,3代表D驱动器。
8.扇区号:表示DOS逻辑扇区号,最多可以是3位16进制数。
表5-1 标志状态的符号表示
表5-1 8086CPU中FLAG寄存器中的8个标志位在DEBUG调试器中显示的值。我们将在第六章 8086CPU寄存器“6.4节标志寄存器”中详细讲解FLAG标志寄存器。
DEBUG调试器中缺失了TF单步追踪标志位。此标志位为控制标志位,默认TF位为0。当TF位置1时,指令改为单步执行。DEBUG调试器的t命令就是使用这个方法实现的。
FLAG标志寄存器为16位,其中有6个状态标志位CF、PF、AF、ZF、SF、OF,3个控制标志位DF、IF、TF,缺省7个标志位(留作将来某个时刻启用)。如表5-2所示:
表5-2 FLAG寄存器标志位
这些标志位不需要可以记忆,随着练习量的增加,见的多了,自然就记住了。忘了的时候也可以随时可以查到。只有查不到的东西,才是真正需要刻记在脑海中的内容。
命令格式 |
功能说明 |
A [地址] |
汇编 |
C [范围] 地址 |
内存区域比较 |
D [范围] |
显示内存单元内容 |
E地址 [字节值表] |
修改内存单元内容 |
F范围 字节值表 |
填充内存区域 |
G [=起始地址] [断点地址表] |
断点执行 |
H 数值 数值 |
十六进制加减 |
I 端口地址 |
从端口输入 |
L [地址[驱动器号 扇区号 扇区数]] |
从磁盘读 |
M 范围 地址 |
内存区域传送 |
N 文件标识符 [文件标识符…] |
指定文件 |
O 端口 字节值 |
向端口输出 |
P [=地址] [数值] |
执行过程 |
Q |
退出DEBUG |
R [寄存器名] |
显示和修改寄存器内容 |
S 范围 字节值表 |
在内存区域搜索 |
T [=地址] [数值] |
跟踪执行 |
U [范围] |
反汇编 |
W [地址[驱动器号 扇区号 扇区数]] |
向磁盘写 |
表5-3 DEBUG命令一览表
提示
Debug调试器常用命令为:r命令,d命令,a命令,e命令,u命令,p命令和q命令。
其中p命令为执行过程。当我们单步跟踪一个循环结构时,可以使用p命令,一次执行完整个循环,方便调试。
练习
网上查阅16位汇编学习环境工具软件的使用教程,编程达人官网“资料下载”版块下载安装环境,自己动手,熟练安装、使用,掌握其用法。
本文摘自编程达人系列教材《X86汇编语言基础教程》。资料下载:www.bcdaren.com