Debug 命令汇编 Debug 调试命令
Debug 命令是一种强大的调试工具,用于在 MS-DOS 环境中调试和测试程序。Debug 命令提供了一系列的命令,用于控制调试过程,查看和修改内存、寄存器和CPU flags的状态。
Debug 命令列表
Debug 命令列表包括以下命令:
* `?` - 显示 Debug 命令列表
* `a` - 汇编 8086/8087/8088 记忆码
* `c` - 比较内存的两个部分
* `d` - 显示部分内存的内容
* `e` - 从指定地址开始,将数据输入到内存
* `f` - 使用指定值填充一段内存
* `g` - 运行在内存中的可执行文件
* `h` - 执行十六进制运算
* `i` - 显示来自特定端口的 1 字节值
* `l` - 将文件或磁盘扇区内容加载到内存
* `m` - 复制内存块中的内容
* `n` - 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数
* `o` - 向输出端口发送 1 个字节的值
* `p` - 执行循环、重复的字符串指令、软件中断或子例程
* `q` - 停止 Debug 会话
* `r` - 显示或改变一个或多个寄存器
* `s` - 在部分内存中搜索一个或多个字节值的模式
* `t` - 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式
* `u` - 反汇编字节并显示相应的原语句
* `w` - 将被测试文件写入磁盘
* `xa` - 分配扩展内存
* `xd` - 释放扩展内存
* `xm` - 映射扩展内存页
* `xs` - 显示扩展内存的状态
Debug 子命令
Debug 子命令包括:
* `Debug:A` - 汇编
* `Debug:C` - 比较
* `Debug:D` - 转储
* `Debug:E` - 键入
* `Debug:F` - 填充
* `Debug:G` - 转向
* `Debug:H` - 十六进制
* `Debug:I` - 输入
* `Debug:L` - 加载
* `Debug:M` - 移动
* `Debug:N` - 名称
* `Debug:O` - 输出
* `Debug:P` - 执行
* `Debug:Q` - 退出
* `Debug:R` - 寄存器
* `Debug:S` - 搜索
* `Debug:T` - 跟踪
* `Debug:U` - 反汇编
* `Debug:W` - 写入
* `Debug:XA` - 分配扩展内存
* `Debug:XD` - 取消分配扩展内存
* `Debug:XM` - 映射扩展内存页
* `Debug:XS` - 显示扩展内存状态
Debug 命令参数
Debug 命令接受参数,除了 q 命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。
有效地址
Debug 命令中的地址参数指定内存位置。Address 是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。
有效范围
Debug 命令中的 range 参数指定了内存的范围。可以为 range 选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由 l 表示)。
Debug:A(汇编)
Debug:A 命令直接将 8086/8087/8088 记忆码合并到内存。该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。
相关主题
Debug 命令提供了许多相关主题,例如 Debug E(键入)、Debug U(反汇编)等。
Debug 命令是一种功能强大且灵活的调试工具,能够满足各种调试和测试需求。