回 帖 发 新 帖 刷新版面

主题:源代码中dw字型数据后,段地址为什么会改变?

源代码中有如下语句:
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends

未执行程序时,ds=136d。
debug程序之后(未执行code部分呢)再看ds=13b5了。

为什么啊?dw不是应该把数据放到当前的ds=136d段里面么,即使放完了ds应该也还是136d阿,为什么会改变呢?

回复列表 (共2个回复)

沙发

什么是未执行程序时ds=136d,执行后ds=13b5?
程序装载后对所有变量是要重定位的,看是不是这样改变的!

板凳

没错,是这样的。初学者,原来程序装载后寄存器是会变化的。。。

我来回复

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