鱼C论坛

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

assume 的用处

[复制链接]
发表于 2012-9-13 21:04:18 | 显示全部楼层 |阅读模式
2鱼币
  感觉assume没什么用处啊
比如写了:
    assume ds:code    ss:stack

还是要在之后的指令中将 ds设置为code,ss设置为stack。

如果你把ds设置为stack,ss设置为code 那岂不是又把stack作为数据段了,code段作为栈段了吗?

既然是这样,那之前的assume的意义又是什么呢?我有点晕了。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-13 21:23:45 | 显示全部楼层
好像 NASM 不支持assume
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-13 22:34:07 | 显示全部楼层
额,应该是是关联起来,让寄存器能看到你这个标示符吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-13 23:05:13 | 显示全部楼层
assume ds:code{这里的code只是起到一个标示作用,段名,当然最好叫DATA~本身定义数据段,段名叫CODE~STACK这样会把自己或看代码的人晕呼呼}    ss:stack
assume ds:code  //定义 {assume}:   数据段 {ds}   段名:code  
一起进步哈{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-13 23:56:14 | 显示全部楼层

我也知道是关联起来,但是具体感觉很抽象,就算写了assume ds:data 也可以把data作为栈段,因为只需在指令中写mov ss,data 就行了。所以实际没感觉他们在什么地方关联了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-14 00:00:23 | 显示全部楼层
s0512 发表于 2012-9-13 23:05
assume ds:code{这里的code只是起到一个标示作用,段名,当然最好叫DATA~本身定义数据段,段名叫CODE~STACK ...

但是我觉的这个定义没什么实际用途,因为把段作为栈段还是数据段是后面对ss,ds的赋值决定的。所以 觉得这个assume没有起到实际的作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-14 06:57:21 | 显示全部楼层
风之谷 发表于 2012-9-13 23:56
我也知道是关联起来,但是具体感觉很抽象,就算写了assume ds:data 也可以把data作为栈段,因为只需在指 ...

好吧。。不写assume的话后面就是用了mov也没有办法的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-14 07:54:43 | 显示全部楼层
就是一段伪指令 没有实际作用的  不必过于纠结
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-16 10:25:58 | 显示全部楼层
过来学习一下。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-17 09:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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