屎粑粑 发表于 2014-9-1 21:33:45

关于cs的值

小弟用的是nasm 其实和masm差不多啦!
但是他没有assume 这种伪指令 为了简便吧,我写程序的时候一般通过cs的值传到ds中来获取的段地址加上某个偏移地址来获取定义的某个数据的地址,
根据我调试可知,cs在开始时候,是等于一个系统分配的内存,当然自己也可以用org设定,比如说cs=0000h,那么如果我的数据实际定义在0000:xxxx的地方 ,然后程序运行了一些指令后,这个时候cs跳到了0001,那么这个时候我如果继续用cs赋值给ds然后得到的地址就是0001:xxxx 那么就不会获取到数据正确的地址了


上面是我的理解,因为原来只是些课本上的东西 没有研究过这个问题!

如果真的是我这么理解的话,而我真的需要在后面的地方获取数据的地址,应该怎么办,是需要开始就想好这个问题 把ds保存下来吗?

要是不是我这么理解的,应该怎么理解



小靚同学Leon 发表于 2014-9-2 08:13:50

你写程序的时候你的数据定义的位置你不知道么?

风之残月 发表于 2014-9-2 08:34:59

数据段和代码段分开

hacker.jin 发表于 2014-9-25 12:00:34

cs 是代码段    ds是数据段!
页: [1]
查看完整版本: 关于cs的值