主题:LEA和MOV指令的区别
geniusgch
[专家分:0] 发布于 2006-04-20 22:52:00
不好意思,问题太肤浅了,但希望大哥们告诉我,谢谢了。[em12]
回复列表 (共17个回复)
11 楼
chenzep [专家分:3640] 发布于 2006-06-10 11:17:00
但是一般mov....offset指令占用字节数比lea占用的多啊
你用DEBUG反汇编看看那个多。
感觉你还没有搞懂什么是编译期,什么是运行期;什么是源代码,什么是可执行代码。
12 楼
wbsun111 [专家分:320] 发布于 2006-06-11 17:55:00
回复7楼:
IN指令,用于把外设端口号传送到AX寄存器,其中,0-255端口可以直接传送,256-65535端口,需要通过DX中转(MOV传送端口号到DX)
13 楼
supperboyer [专家分:0] 发布于 2008-03-13 18:10:00
楼上的几位拜托不要误导人家,胡说什么“LEA传送的地址在汇编期就可以计算出来”,我
LEA AX,[BP+SI+10H] 可以不可以呢,你把ax的值计算出来!
汇编软件在编译的时候能得到寄存器的内容?!
14 楼
wooguan [专家分:0] 发布于 2008-03-17 23:01:00
各位大侠,我以为
LEA AX,[BP+SI+10H]
如果 bp=3,si=4
则 ax=17h
mov AX,[BP+SI+10H]
如果 bp=3,si=4,BP+SI+10H=17h
如果在 [17h]中的内容是9
那么 ax=9
请大家指正
15 楼
supperboyer [专家分:0] 发布于 2008-03-18 13:43:00
是的,你分析的很正确,lea是传送有效地址指令,mov是传送数据的指令,两条八竿子打不着的指令居然还有人硬要牵强附会地拉扯到一起
16 楼
mtxmxt [专家分:0] 发布于 2008-03-19 17:39:00
支持14楼!
17 楼
beijingmaxiao [专家分:0] 发布于 2008-04-08 22:40:00
阅,完全正确!下边同我所述~
我来回复