关于伪指令assume的问题。
本帖最后由 a89361461 于 2011-2-14 16:07 编辑为什么用汇编语言写程序,开头都要用assume与相关的段寄存器关联起来。关联起来有什么作用呢?
如果不关联又会怎样呢? 编译器就是这样规定的,编译器通过这个信息初始化cs的值。 入门阶段知道这个就可以了,不需要深究。学的多了以后,自然就明白了。 为什么用汇编语言写程序,开头都要用assume与相关的段寄存器关联起来。关联起来有什么作用呢?
如果不关联 ...
a89361461 发表于 2011-2-14 16:06 http://fishc.com/dz/images/common/back.gif
其实你可以试验下,
assume cs:code
是一定要写的,但是,ds和ss可以不写
ds不写的坏处的你没法用ds段中的变量。不过王爽的汇编书上根本就没有用变量,所以可以不写。 在PE中各个数据放在不同的区块里边的,ASSUME可以帮助编译器更好的存放这些不同的区块~ 回复 4# 小甲鱼
不懂 PE 是什么 ,:( 可执行文件,EXE,COM,DLL都是遵照PE格式编译的~要不windows怎么知道哪些是数据哪些是代码哪些是资源?肯定有一个规范的~ 学的多了以后,自然就明白了。
页:
[1]