汇编和反汇编
1.汇编命令A
格式: A 【地址】
功能:从键盘输入汇编程序, 并逐条地把汇编指令翻译成机器代码指令存入对应内存单元。
说明: 如果不指定汇编地址, 则以CS:IP为地址
2. 反汇编命令U
格式: U 【地址】/【地址范围】
功能: 将指定地址范围内的机器代码翻译成汇编源程序指令显示出来, 并同时显示地址及代码。
注意: 反汇编时一定确认指令的起始地址, 否则得不到正确的结果。
显示与修改内存单元内容的命令
1. 显示内存单元内容命令D
格式1: D 【地址】
格式2: D 地址范围
说明: D命令在屏幕上显示的内容分为三部分, 左边是每一行存储单元的起始地址, 中间是各字节单元的内容, 右边是各单元内容对应的ASCII码字符( 不可显示的字符用”.”代替)。
2. 修改内存单元内容命令E
格式1: E 地址 内容表
说明: 内容表可以是以逗号或空格分隔的两位16进制数, 也可以是用单引号”或双引号”“括起来的字符串, 还可以是二者的组合。
格式2: E 地址
说明: 在修改数据时可用以下键进行不同操作:
1)键入空格键。修改后一个字节单元的内容。
2) 输入减号”-“。另起一行, 修改前面一个字节单元的内容。
3) 输入回车键, 结束内存单元的修改。
3. 填充内存命令F
格式: F 地址范围 内容表
功能: 将<内容表>的值逐个填入指定地址范围, 内容表中的内容用完后再重复使用。
显示与修改寄存器内容的R命令
格式1: R
功能: 显示当前所有寄存器内容, 状态标志及将要执行的下一条指令的地址、代码和汇编指令形式。
格式2: R 寄存器名
功能: 显示并修改指定寄存器的内容
运行和跟踪命令
1. 运行程序命令G
格式: G 【=起始地址】 【断点地址】
功能: 从起始地址开始执行程序, 直到程序结束或遇到断点地址为止。
说明: 如果不指定起始地址, 则从CS:IP处开始执行。
如果程序执行到结束,则显示”Program terminated normally”(程序正常结束)。如果遇到断点, 则程序停止执行, 并显示当时各寄存器的内容 和下一条要执行的指令。
2. 跟踪运行命令T
格式: T 【=起始地址】 【指令条数】
功能: 逐条跟踪程序的运行, 同时显示出各寄存器的内容、状态标志和下一条要执行的指令, 当执行够指定的指令数后就暂停程序的运行。
说明: 如果不指定起始地址, 则从CS:IP处开始执行。
不指定指令条数时, 认为只执行一条指令。
3. 继续命令P
格式: P 【=起始地址】 【指令条数】
功能: 与T命令一样完成跟踪程序的运行, 但遇到子程序、中断程序、循环时并不跟踪下去, 而是把它们当作一条指令来执行。
磁盘读写命令
1. 文件命名命令N
格式: N文件名
功能: 指定要装入内存或写到磁盘的文件的名字(包括盘符和路径)。
2. 装入命令L
格式: L 【地址】 【驱动器号 扇区号 扇区数】
功能: 把指定文件或磁盘扇区的内容装入到内存指定地址
说明: 地址的默认值为CS:100。
驱动器号用0表示A盘, 1表示B盘, 2表示C盘。
3. 写磁盘命令W
格式: W 【地址】 【驱动器号 扇区号 扇区数】
功能: 将指定内存地址的一片单元内容写到磁盘中。
说明: 地址的默认值为CS:100。
要将内存内容写入文件时, 必须先用N命令命名一个文件,并置BX和CX为文件长度。
注意: W命令不能写入以.EXE和.HEX为扩展名的文件。
DEBUG的其它命令
1. 移动内存命令
格式: M 源地址范围 目标起始地址
功能: 把<源地址范围>中的内容顺序移到<目标起始地址>起的一片连续内存单元。
注意: 源区域的数据不因移动而消失, 其内容仍保持不变。
源、目标中的地址只要不指定段地址, 则都是隐含使用DS段。
2. 比较命令C
格式: C 源地址范围 目标起始地址
功能: 从<源地址范围>的起始地址单元开始, 逐个与<目标起始地址>后的单元的内容顺序进行比较, 直到源终止地址为止。遇到不相同时显示出它们的地址和内容: 源地址 源内容 目标内容 目标地址
3. 查找命令S
格式: S 地址范围 要查找的内容
功能: 在指定的地址范围内查找指定的内容, 若找到则显示出它们所
处的地址, 否则不显示任何信息。
4. 十六进制算术运算命令H
格式: H 值1 值2
功能: 显示十六进制数<值1>与<值2>的和差的结果。
5. 退出DEBUG命令Q
格式: Q
功能: 结束DEBUG程序, 返回到DOS提示符下。
注意: Q命令并不把内存中正在工作的文件存盘。
【转自互动百科 DEBUG常用命令 词条】