关于cs的值
小弟用的是nasm 其实和masm差不多啦!但是他没有assume 这种伪指令 为了简便吧,我写程序的时候一般通过cs的值传到ds中来获取的段地址加上某个偏移地址来获取定义的某个数据的地址,
根据我调试可知,cs在开始时候,是等于一个系统分配的内存,当然自己也可以用org设定,比如说cs=0000h,那么如果我的数据实际定义在0000:xxxx的地方 ,然后程序运行了一些指令后,这个时候cs跳到了0001,那么这个时候我如果继续用cs赋值给ds然后得到的地址就是0001:xxxx 那么就不会获取到数据正确的地址了
上面是我的理解,因为原来只是些课本上的东西 没有研究过这个问题!
如果真的是我这么理解的话,而我真的需要在后面的地方获取数据的地址,应该怎么办,是需要开始就想好这个问题 把ds保存下来吗?
要是不是我这么理解的,应该怎么理解
你写程序的时候你的数据定义的位置你不知道么? 数据段和代码段分开 cs 是代码段 ds是数据段!
页:
[1]