zgt2008 发表于 2011-11-18 15:40:19

LEA & OFFSET 区别

LEA & OFFSET 区别在那里?


http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 zgt2008的微博

仰望天上的光 发表于 2011-11-18 18:14:12

表示的意思是一样的都是取偏移地址,就是OFFSET是伪指令,编译时完成,LEA是指令,CPU运行时完成取偏移地址。
PS
:LEA与OFFSET区别:
1、LEA是汇编指令,对应一个机器码,OFFSET是伪指令,没有专门的机器码;
2、LEA可以使用各种存储器寻址方式,OFFSET只能回送变量或标号的偏移地址;
3、LEA在运行时才能确定操作数的地址,OFFSET在编译时由汇编程序计算出操作数的地址并作为立即数回送给指令(也就是把立即数放入编译出的机器指令中);
4、LEA用来确定局部变量的地址,OFFSET用来确定全局变量的地址,因为全局变量的地址在汇编时就已经确定,而局部变量地址受运行环境的影响,是不确定的,只能在程序运行时计算得出。

死亡请帖 发表于 2011-11-20 13:35:53

看此处:offset addr 和 lea

zgt2008 发表于 2011-11-21 08:26:07

多谢楼上朋友

cyht33 发表于 2011-11-22 12:45:28

不错,学习了
页: [1]
查看完整版本: LEA & OFFSET 区别