| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1050 人关注过本帖
标题:[求助]低级问题,请指点!
取消只看楼主 加入收藏
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
 问题点数:0 回复次数:5 
[求助]低级问题,请指点!

以前学了点汇编的皮毛,现在要用到它。可自己调一个简单的程序都实现不了。特来请教!

下面的程序是在数据段中给a赋值0。在代码段中将a的偏移地址放入ax中,段地址放入bx中。
可是在TD中查找到其存放地址,发现那个地址上的内容并不是a的值0。

data1 segment
a dw 0
data1 ends
code1 segment
assume cs:code1,ds:data1
start:
mov ax,data1
mov ds,ax

mov ax,offset a
mov bx,seg a
code1 ends
end start

搜索更多相关主题的帖子: start 
2007-01-07 15:34
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
得分:0 

谢谢楼上的同志!

我是真的搞不懂了,我可能连怎么查看内存内容都忘记了。

请给我说一下怎么查看!


2007-01-08 22:00
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
得分:0 
能不能说明白点呢?

我也去网上查查吧。

2007-01-09 12:10
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
得分:0 

我认为段地址(16位)左移4位(20位)+偏移地址(16位)就是其物理地址,
所以通过 mov bx,seg a 将段地址存入bx通用寄存器,
通过 mov ax,offset a 将偏移地址存入ax通用寄存器。
然后,查看数据段中a存放位置的值。

我就是这样搞的。


2007-01-10 12:35
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
得分:0 

好象还是不行,可能我哪里弄错了。。。

算了,找其他方法解决吧。

谢谢楼上的同志了!


2007-01-10 20:48
tl0760
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-12-11
收藏
得分:0 
以下是引用lefttime在2007-1-10 21:07:27的发言:
debug test.exe
-t
.... ;这是显示跟踪单步后出的数据
-t
.... ;同上
-t
....
-t
.... ;照你的程序跟踪执行4步已经能得看到ax,bx中的值,也就是你想得到的段基址和偏移地址啦
-d XXXX:XXXX ;红色部分改成bx中的值,后面改为ax中的值,这样你就能看到啦

楼上的同学比起我来真是太厉害了。。。
十分感谢你的帮忙!

随便问一下上面我引用部分的命令原来我都不知道也(不知道是我们学校什么都不教,还是我什么都不爱学。。),如果要学习的话应该学习什么好呢?


2007-01-12 16:15
快速回复:[求助]低级问题,请指点!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016166 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved