assume 的用处
感觉assume没什么用处啊比如写了:
assume ds:code ss:stack
还是要在之后的指令中将 ds设置为code,ss设置为stack。
如果你把ds设置为stack,ss设置为code 那岂不是又把stack作为数据段了,code段作为栈段了吗?
既然是这样,那之前的assume的意义又是什么呢?我有点晕了。
好像 NASM 不支持assume 额,应该是是关联起来,让寄存器能看到你这个标示符吧 assume ds:code{这里的code只是起到一个标示作用,段名,当然最好叫DATA~本身定义数据段,段名叫CODE~STACK这样会把自己或看代码的人晕呼呼} ss:stack
assume ds:code//定义 {assume}: 数据段 {ds} 段名:code
一起进步哈{:1_1:}
无星之夜 发表于 2012-9-13 22:34 static/image/common/back.gif
额,应该是是关联起来,让寄存器能看到你这个标示符吧
我也知道是关联起来,但是具体感觉很抽象,就算写了assume ds:data 也可以把data作为栈段,因为只需在指令中写mov ss,data 就行了。所以实际没感觉他们在什么地方关联了 s0512 发表于 2012-9-13 23:05 static/image/common/back.gif
assume ds:code{这里的code只是起到一个标示作用,段名,当然最好叫DATA~本身定义数据段,段名叫CODE~STACK ...
但是我觉的这个定义没什么实际用途,因为把段作为栈段还是数据段是后面对ss,ds的赋值决定的。所以 觉得这个assume没有起到实际的作用 风之谷 发表于 2012-9-13 23:56 static/image/common/back.gif
我也知道是关联起来,但是具体感觉很抽象,就算写了assume ds:data 也可以把data作为栈段,因为只需在指 ...
好吧。。不写assume的话后面就是用了mov也没有办法的吧 就是一段伪指令 没有实际作用的不必过于纠结 过来学习一下。。。。
页:
[1]