加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DOS命令大全:Debug:p (proceed)命令详解 – itShouce

(2015-03-25 20:42:27)
DOS命令大全:Debug:p (proceed)命令详解

执行循环、重复的字符串指令、软件中断或子例程。或始终跟踪其他的任何指令。如果在不含参数的情况下使用,则 p 将列出寄存器及其当前值。

MS-DOS命令语法

p [= address] [number]

MS-DOS命令参数

address
指定第一个要执行指令的位置。如果不指定地址,则默认地址是在 CS:IP 寄存器中指定的当前地址。
number
指定将控制权交还给 Debug.exe 之前要运行的指令数。默认值为 1。
?
显示 debug 子命令列表。

MS-DOS命令注释

  • 指定有效的 address 项

    Address 是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。CS 是下列“调试”子命令的默认段:a、g、l、t、u 和 w。所有其它命令的默认段是 DS。所有数值均为十六进制格式。段名和偏移量之间必须包含冒号。有效地址如下:

    CS:0100

    04BA:0100

  • 使用 address 参数

    如果 address 参数未指定段,则 Debug.exe 将使用所测试程序的 CS 寄存器。如果省略了 address,将从由该程序的 CS:IP 寄存器指定的地址开始执行该程序。必须在 address 之前使用等号 (=),以便区分它与 number 参数。如果指定地址处的指令不是某个循环、重复字符串指令、软件中断或子例程,则 p 子命令会与 t (trace) 子命令有相同的工作方式。

  • 将控制权传递给正被测试的程序

    当 p 子命令将控制权从Debug.exe 传递给正被测测试的程序时,该程序会保持无中断运行状态,直到指定地址处的循环、重复字符串指令、软件中断或子例程结束,或直到已执行完指定的机器指令数。此后,控制权会交还给 Debug.exe。

  • 查看消息

    在 p 运行后,Debug.exe 将显示该程序的寄存器内容、寄存器标志的状态以及要执行的下一条指令的解码形式。

    警告

    • 不能使用 p 子命令来跟踪只读存储器 (ROM)。
  • 有关使用 g (go) 子命令来运行当前位于存储器中的程序的信息,请参阅“相关主题”。
  • 获取使用 t 子命令来执行一个指令的信息,请参阅“相关主题”

MS-DOS命令范例

该范例中,要测试的程序在地址 CS:143F 处包含一个 call 命令指令。要运行由 call 命令调用的子例程,然后将控制权返还给 Debug.exe,请键入:

p=143f

Debug.exe 按以下格式显示结果:

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=2246 ES=2246 SS=2246 CS=2246 IP=1443 NV UP EI PL NZ AC PO NC
2246:1442 7505 JNZ 144A

» 本文链接地址:http://os.itshouce.cn/?p=17600

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有