首页
社区
课程
招聘
[原创]LEA指令的疑惑
发表于: 2007-2-4 10:40 10777

[原创]LEA指令的疑惑

2007-2-4 10:40
10777
LEA interl指令集中的解释是 Load Effect Address
但实际用起来有些费解,似乎更像是传值而不是传址

假设 eax=1
LEA eax [eax+eax*4] 结果为什么是 eax=5呢?
难道the Address of [eax+eax*4] =5吗?
===================

下面是google搜到的,看不太明白,请哪位一起给解释一下,菜鸟感激不尽
能否详细说明LEA的功能

我对老师讲的指令系统和程序设计不理解,能不能用一种简单意懂的方法教我.就如:"设BX=0328H,SI=023CH,执行LEA BX,[BX+SI+0F54H]后,BX的内容是什么?

回复:
需要正确理解LEA指令的功能。
该指令有两个操作数。左边是目的操作数,表示操作结果保存在此,该指令目的操作数只能是8个通用寄存器之一。逗号右边的是源操作数,该指令的源操作数只能是一个存储单元,表达存储单元有多种寻址方式。
LEA指令的功能是将源操作数、即存储单元的有效地址(偏移地址)传送到目的操作数。
示例指令中,[BX+SI+0F54H]采用相对基址变址的寻址方式表达存储单元,它表示的存储单元的有效地址是:BX内容加SI内容加0F54H。这个结果被传送到BX中。
是否是很烦琐?
该指令涉及了多个基本知识点,尤其是存储器寻址方式。问题很有可能是前面的内容并没有真正理解和掌握。
这是汇编语言程序设计课程的一个特点,知识点点滴滴,需要静心学习。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
eax=1
eax+eax*4=5
很好理解啊。。。
为什么理解不了呢?
[]里面的就是地址啊
lea eax [eax+eax*4]将地址的计算结果保存在EAX中,前面已经计算得出是5了,所以该指令的运行结果,EAX就是5啊

有哪里不明白的?

这个指令一般用于加法或者乘法的优化,以获得更高的运行效率

所以就单一指令而言,也可以把它理解为计算eax+eax*4这条表达式的值
2007-2-4 10:49
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
谢谢笨笨雄,迷糊半天终于明白了,地址 对应的 值 所在的 地址 还是原来的 地址,跳楼去
2007-2-4 11:03
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能不能多给几个例子 解释下  3Q
2011-1-19 09:36
0
雪    币: 13
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
假如某一变量 ,地址为0x00001234h,它里面存放的值为0xAABBCCDD
那么
mov eax,[0x00001234h]  ;结果为eax=0xAABBCCDD
mov eax,0x00001234h     ;结果为eax=0x00001234h

lea  eax,[0x00001234h]    ;结果为eax=0x00001234h
2011-1-19 18:45
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ls的ID很强大,顺便问一下头像照片是小幂么?
2011-1-19 19:21
0
雪    币: 13
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
对啊,我就喜欢小幂
2011-1-23 00:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
0x4567: label1 dw 1234h

mov eax,offset label1;  eax = 0x4567, offset取的是label1地址

lea eax,label1           ;   eax = 0x4567, lea取label1的地址

mov esi,[eax]           ;   esi=1234h, []取的是地址的内容,类型指针操作中的*

lea与[]连用,目的是计算[]中表达式的值

lea eax,[eax+4]与mov eax,eax+4相同。
2011-2-9 00:14
0
游客
登录 | 注册 方可回帖
返回
//