鱼C论坛

 找回密码
 立即注册
查看: 3070|回复: 8

dw把数据放哪里了

[复制链接]
发表于 2012-1-19 12:47:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 苦人儿 于 2012-1-19 13:28 编辑

data segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends

这段定义中把数据0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h放在了内存中的哪里了?找不到。
是放到ds:0处,还是放到了其他地址。与什么有关?
各位大侠不吝赐教!
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-19 17:43:28 | 显示全部楼层
这个天不知,地不知,只有系统知道(小甲鱼老师的话),因为在你定义了这段数据时,系统会自动给分配空间来存放的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-19 17:49:23 | 显示全部楼层
data segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
若你要想找到具体放到什么地方,可以这样试下:
在上述数据段的基础上,加入下面的指令
mov ax,data
mov ds,ax
这时候你看看ax 或ds 的值,就知道了你这个数据段的段地址了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-19 18:02:51 | 显示全部楼层
大侠看看结果吧!好像出错

快照29.rar

80.79 KB, 下载次数: 0

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-22 18:48:32 | 显示全部楼层
我每天无限的DEBUG,我感觉,  0123h 会对应 起码的是 23 10 这样的机器码出来。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-23 19:25:25 | 显示全部楼层
本帖最后由 张国祥 于 2012-1-23 19:26 编辑

如果ds段在程序最前端的话,数据就在psp的后面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-23 19:28:27 | 显示全部楼层
要把dsg所在段正确指向ds寄存器,才能行;因为ds在程序开始似乎并不指向dsg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-23 19:34:09 | 显示全部楼层
ds段 :lol:lol:$:$
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-29 10:27:42 | 显示全部楼层
这段数据放在哪,主要看前面的关联和后面的代码了,如果data跟DS关联应该是放在data:0处了,如果跟CS关联,后面还有代码的话,就是放在代码段的前面了,执行时就从这个数据开始执行,那样就不对了,的加个标号就是入口地址,指定程序的第一条指令在那个位置,如果不加标号就从数据开始执行就有莫名其妙的指令了,不知道说的对不对,本人也是菜鸟,希望各为高手指导啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 16:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表