鱼C论坛

 找回密码
 立即注册
查看: 4719|回复: 5

关于assume的问题、、、

[复制链接]
发表于 2011-6-9 13:04:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这assume既然是给编译器看的 让编译器把段寄存器与标号连起来 为什么代码段中的代码又要再重新把标号地址传给段寄存器呢  ?
这样子的话assume不是等于没做任何事情了吗 ?  求解中。。。:):loveliness::funk::curse::dizzy::dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-9 14:02:27 | 显示全部楼层
这条伪指令的含义为“假设”。它假设某一段寄存器和程序中的某一个用segment...ends 定义的段相关联。通过assume说明这种关联,在需要的情况下,编译程序可以将段寄存器和某一个具体的段相联系。assume并不是一条非要深入理解不可的伪指令,以后我们编程时,记着用assume将有特定用途的段和相关的段寄存器关联起来即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-9 16:00:15 | 显示全部楼层
有道理路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-9 23:08:41 | 显示全部楼层
那我们把assume去掉是不是也行 反正代码段中还要重新把标号放入段寄:dizzy:存器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-10 01:33:20 | 显示全部楼层
assume 主要告诉编译器哪个段跟哪些标号相呼应,不然编译器就不知道标号位于哪个段了~因此我们可以不用ds:data,但不能不用cs:code,因为代码段终究有一个标号是必须的 end start 中的start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-10 05:26:31 | 显示全部楼层
规定 没办法啊    如果你不添加这个伪指令  那么编译器就不帮你编译  肯定出错      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-18 22:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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