回 帖 发 新 帖 刷新版面

主题:大虾:用DEBUG调试时,怎么去看各单元的内容?

比如说我用DEBUG调试程序,发现前面是地址:
19EE:0000 .......
19EE:0010 .......
.
.
.
19EE:0090 .......
后面都是十六进制数,那么没一个数是什么意思呢?

回复列表 (共2个回复)

沙发

关于debug的命令,进入debug之后,输入?号就OK了。

比较常用的命令,如r(显示和修改寄存器、标志),e(修改内存),a(输入指令,其实就是修改代码),f(区域填充)

g(设置断点,并运行至断点),p(运行指令,可以设置运行多少条指令),t(追踪,同样可以设置指令的条数)

c(内存比较,显示不同的),m(复制内存数据)

l(从磁盘载入逻辑扇区的内容),w(跟l相反)

i(从某端口输入字节), o(跟i相反)。

命令里面的address,指的是逻辑地址,就是段值加偏移,例如ds:100,段值可以直接使用四位十六进制;而range则是一段地址范围,例如ds:100 120,就是段值为ds,偏移从100到120的范围,还可以使用长度l,例如ds:100 l20,跟ds:100 120同样效果。


程序加载后,ds默认是指向PSP的段值的。

板凳

谢了啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册