蝈蝈 发表于 2012-10-17 10:08:56

汇编伪指令assume cs:code,ds:data的作用

各位汇编高手帮帮忙~~
汇编指令中,伪指令assume cs:code,ds:data   有什么用?我发现不写ds:data对程序的运行不会有任何影响,书上说段名(也就是code,data)相当于一个段地址,原本我以为ds:data 这条语句是给ds赋值,结果发现并不能给ds赋值,而且代码段中总会有:mov ax,data;mov ds,ax;通过这样的语句给ds赋值,那cs:code,ds:data岂不是没有任何用处?
并且我还在书上看到这样一句话:“assume cs:code,ds:data,ss:stack将cs,ds和ss分别与code,data,stack段相连”请问,相连又是什么意思?相连后不能赋值又有什么意义呢?
编译器是如何处理这一段伪指令的?
希望各位高手针对我以上问题给我做一个详细的解答,谢谢!

mmvv114 发表于 2012-10-19 17:24:10

伪指令……就是让编译器理解的东西

补充内容 (2012-10-19 17:26):
具体的你可以自己编译一下
如果不加ds:data的话 你怎么知道要把多大的数据赋给ds呢?
页: [1]
查看完整版本: 汇编伪指令assume cs:code,ds:data的作用