. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么我执行-d   2000:3211过后ds并没有变成2000?  [待解决] 回复[ 7次 ]   点击[ 444次 ]  
paopao
[帖 主]   [ 发表时间:2007-07-04 18:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-07-02 20:42
书上说 debug在执行:-d   2000:3211  
  这类命令时是先将段地址2000传给段寄存器ds的   `  
  那么为什么我执行-d   2000:3211过后ds并没有变成2000?
cxn
[第1楼]   [ 回复时间:2007-07-15 20:25 ]   [引用]   [回复]   [ top ] 
荣誉值:179
信誉值:6
注册日期:2007-07-09 19:18
debug中的d命令是查看内存中的数据的,具体实现方式不清楚 可能是先把段地址给了ds等显示完后再恢复成原来的值,如果d命令能改变ds的值那在调试程序中使用就不方便了。
101319007
[第2楼]   [ 回复时间:2007-08-07 13:51 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2007-08-07 13:15
-d 2000:3211是查看2000:3211开始的128个内存单元中的内容并不会改变任何东西
playboy
[第3楼]   [ 回复时间:2007-08-13 16:05 ]   [引用]   [回复]   [ top ] 
荣誉值:31
信誉值:1
注册日期:2007-06-26 11:44
楼主的这个问题,以你现在的知识量当然还不能弄明白,其中涉及到一些后续课程的知识,所以,不明白也罢,学到后面自然会明白的
2003202
[第4楼]   [ 回复时间:2007-09-29 17:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-09-27 09:02
-d 2000:3211是查看2000:3211开始的128个内存单元中的内容并不会改变任何东西
------------------
回复:我跟你一样,楼主只是查看内容而已,又没有改写ds
bug
[第5楼]   [ 回复时间:2007-09-29 17:49 ]   [引用]   [回复]   [ top ] 
荣誉值:22
信誉值:0
注册日期:2007-09-24 10:42
debug的d命名是查看内存的, 不改变寄存器的值。
sunshine
[第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个字节大小的数据)
opened
[第7楼]   [ 回复时间:2007-10-10 12:28 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2007-10-09 08:42
楼主的这个问题,以你现在的知识量当然还不能弄明白,其中涉及到一些后续课程的知识,所以,不明白也罢,学到后面自然会明白的
------------------
回复:
其实楼主的提问是对的,DEBUG本身也是一个程序,所以在使用D命令的时候会把DS导入相应的地址...至于为什么我们看不见,这个在后面的章节有讲
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved