|
主题 : : 为什么我执行-d 2000:3211过后ds并没有变成2000? [待解决] |
回复[ 7次 ]
点击[ 444次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2007-07-04 18:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-07-02 20:42 |
书上说 debug在执行:-d 2000:3211
这类命令时是先将段地址2000传给段寄存器ds的 `
那么为什么我执行-d 2000:3211过后ds并没有变成2000? | | |
|
|
|
|
[第1楼]
[ 回复时间:2007-07-15 20:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:179
信誉值:6
注册日期:2007-07-09 19:18 |
debug中的d命令是查看内存中的数据的,具体实现方式不清楚 可能是先把段地址给了ds等显示完后再恢复成原来的值,如果d命令能改变ds的值那在调试程序中使用就不方便了。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2007-08-07 13:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:3
信誉值:0
注册日期:2007-08-07 13:15 |
-d 2000:3211是查看2000:3211开始的128个内存单元中的内容并不会改变任何东西 | | |
|
|
|
|
[第3楼]
[ 回复时间:2007-08-13 16:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:31
信誉值:1
注册日期:2007-06-26 11:44 |
楼主的这个问题,以你现在的知识量当然还不能弄明白,其中涉及到一些后续课程的知识,所以,不明白也罢,学到后面自然会明白的 | | |
|
|
|
|
[第4楼]
[ 回复时间:2007-09-29 17:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2007-09-27 09:02 |
-d 2000:3211是查看2000:3211开始的128个内存单元中的内容并不会改变任何东西
------------------
回复:我跟你一样,楼主只是查看内容而已,又没有改写ds | | |
|
|
|
|
[第5楼]
[ 回复时间:2007-09-29 17:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:22
信誉值:0
注册日期:2007-09-24 10:42 |
debug的d命名是查看内存的, 不改变寄存器的值。 | | |
|
|
|
|
[第6楼]
[ 回复时间:2007-10-01 13:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:106
信誉值:0
注册日期:2007-06-26 15:10 |
dubeg 中d 命令 使用来显示内存数据的,对改变寄存器.
例子: d 0:0 这个命令 会显示从0:0开始的内存数据(默认显示128个字节)
-d 2000:3211 你的这个命令 显示的是以内存地址2000:3211 为起始位置的 内存中的数据(默认显示128个字节大小的数据) | | |
|
|
|
|
[第7楼]
[ 回复时间:2007-10-10 12:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2007-10-09 08:42 |
楼主的这个问题,以你现在的知识量当然还不能弄明白,其中涉及到一些后续课程的知识,所以,不明白也罢,学到后面自然会明白的
------------------
回复:
其实楼主的提问是对的,DEBUG本身也是一个程序,所以在使用D命令的时候会把DS导入相应的地址...至于为什么我们看不见,这个在后面的章节有讲 | | |