鱼C论坛

 找回密码
 立即注册
查看: 2990|回复: 6

关于伪指令assume的问题。

[复制链接]
发表于 2011-2-14 16:06:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 a89361461 于 2011-2-14 16:07 编辑

为什么用汇编语言写程序,开头都要用assume与相关的段寄存器关联起来。关联起来有什么作用呢?
如果不关联又会怎样呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-14 16:10:17 | 显示全部楼层
编译器就是这样规定的,编译器通过这个信息初始化cs的值。 入门阶段知道这个就可以了,不需要深究。学的多了以后,自然就明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-15 21:10:14 | 显示全部楼层

其实你可以试验下,
assume cs:code
是一定要写的,但是,ds和ss可以不写
ds不写的坏处的你没法用ds段中的变量。不过王爽的汇编书上根本就没有用变量,所以可以不写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-16 16:42:37 | 显示全部楼层
在PE中各个数据放在不同的区块里边的,ASSUME可以帮助编译器更好的存放这些不同的区块~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-2-16 17:55:11 | 显示全部楼层
回复 4# 小甲鱼


   不懂 PE 是什么 ,:(
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-2-16 18:14:57 | 显示全部楼层
可执行文件,EXE,COM,DLL都是遵照PE格式编译的~要不windows怎么知道哪些是数据哪些是代码哪些是资源?肯定有一个规范的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-5-27 05:07:48 | 显示全部楼层
学的多了以后,自然就明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 16:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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