考考大家,谁能说清楚LEA助记符

Yomsing 2010-11-05 09:43:49
网上说LEA 源操作数,目的操作数 指令的一大堆,没几个人说对的,要么说的含糊,要么给你举个C/C++的例子...
更有位兄弟在百度上说:"lea比mov运算速度快上大约250倍."这种答案都出来了!!!令我汗颜呀!
其实很简单的,书上明明说的很清楚,为撒都没看懂呢?大家发帖说说看,谁能说清楚...
...全文
126 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Applic 2010-11-06
  • 打赏
  • 举报
回复
说指令不就是知道是运行期吗,到底想说明什么
lea指令是运行时,可用任何可用寻址,offset是编译期宏处理,lea多一个指令周期,lea只能放入si/di/bp等,offset可以放入通用寄存器,offset只能取伪指令定义的变量
Yomsing 2010-11-06
  • 打赏
  • 举报
回复
书上说:LEA指令返回间接操作数的偏移地址。由于间接操作数可能使用一个或多个寄存器,因此其偏移值是在运行时计算的。

明白了?你们的答案没说清楚,取变量的地址可以用OFFSET,但是取局部变量的地址只能用LEA指令。。。
Yomsing 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 leetow2003 的回复:]
一个是指令,一个是伪指令
[/Quote]

答非所问?你这样回答,给你一百个砖头...
leetow2003 2010-11-06
  • 打赏
  • 举报
回复
一个是指令,一个是伪指令
Yomsing 2010-11-06
  • 打赏
  • 举报
回复
都没说清楚...OFFSET还取变量地址呢?那丢了LEA算了...
bobo1269219446 2010-11-06
  • 打赏
  • 举报
回复
没明白lz的意思,汗!lea不就是取偏移地址吗?
Yomsing 2010-11-05
  • 打赏
  • 举报
回复
是斑竹?你没说对...
大熊猫侯佩 2010-11-05
  • 打赏
  • 举报
回复
本来就很简单,是你搞复杂了。至于lea和mov哪个快,你可以自己实际测试一下。
大熊猫侯佩 2010-11-05
  • 打赏
  • 举报
回复
取内存变量的地址,你可以看lea的指令说明:
LEA - Load Effective Address


Usage: LEA dest,src

Modifies flags: None

Transfers offset address of "src" to the destination register.

Clocks Size
Operands 808x 286 386 486 Bytes
reg,mem 2+EA 3 2 1 2-4
- the MOV instruction can often save clock cycles when used in
place of LEA on 8088 processors

8D / r LEA r16,m Store effective address for m in register r16
8D / r LEA r32,m Store effective address for m in register r32

taoran12 2010-11-05
  • 打赏
  • 举报
回复
取变量偏移地址送给寄存器
Yomsing 2010-11-05
  • 打赏
  • 举报
回复
没人回答,算了结帖吧,大家不感兴趣...

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧