标题:请问lea和offset的区别
只看楼主
g19871001
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-6-3
得分:0 
下面的错误
lea bx,si
mov bx,offset si

offset跟内存有关,具体的不会说-.-

lea bx,gxg
mov bx,offset gxg
都对
2007-06-04 00:21
yubin555
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-4
得分:0 
lea返回的是有效地址,offset返回的是偏移
2007-06-09 22:07
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
得分:0 
偏移地址就是有效地址!

2007-06-14 09:18
unboiled
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-28
得分:0 
offset是编译时就运行,lea是CPU执行时实现的.
所以指令的时钟周期不一样,lea多了一个指令时钟周期
2007-06-28 19:17
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
得分:0 
呵呵, 大家都说得很好!

人生重要的不是所站的位置,而是所朝的方向
2007-06-28 23:04
chaogang
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-3-31
得分:0 
lea 取出的地址 放在规定的放地址的那几个寄存器,像 SI DI BP 等等
OFFSET 取出地址可以放在原本不是 当地址的寄存器. 像 CX,DX 等等
两个 功能 很像,关键就是 需要用哪个是用哪个,其他不是很 特别的地方,两个可以等价用

2007-06-29 09:43
杜鹃
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-6-21
得分:0 
学习了!
2007-07-02 09:10
TE20
Rank: 1
等 级:新手上路
威 望:1
帖 子:57
专家分:0
注 册:2007-4-15
得分:0 

今天我又复习了下前面所学的,看到这个lea和offset时,感觉有些知道意思了,书上说:“offset只能取得用数据定义伪指令定义的变量的有效地址,而不能去一般操作数的有效地址。”是不是就是说mov ax,offset 后面只能跟变量varw,而不能跟bx,cx,dx等一般操作数的有效地址啊,请高手指点下,是不是这样啊

[此贴子已经被作者于2007-8-7 20:47:29编辑过]


吾应日三省吾身
2007-08-07 20:47
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
同意LS的

2007-08-07 21:53
DecoderEx_
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-10
得分:0 

offset后面不能跟寄存器,只能跟伪指令定义的操作数,如果offset后面跟的是局部变量他就错了
str(局部变量)
lea bx,str(mov offset错)
在别的传地址上都是一样的

2007-08-10 17:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-141341-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.443671 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved