回 帖 发 新 帖 刷新版面

主题:LEA和MOV指令的区别

不好意思,问题太肤浅了,但希望大哥们告诉我,谢谢了。[em12]

回复列表 (共17个回复)

11 楼

但是一般mov....offset指令占用字节数比lea占用的多啊
你用DEBUG反汇编看看那个多。
感觉你还没有搞懂什么是编译期,什么是运行期;什么是源代码,什么是可执行代码。

12 楼

回复7楼:
IN指令,用于把外设端口号传送到AX寄存器,其中,0-255端口可以直接传送,256-65535端口,需要通过DX中转(MOV传送端口号到DX)

13 楼

楼上的几位拜托不要误导人家,胡说什么“LEA传送的地址在汇编期就可以计算出来”,我
LEA AX,[BP+SI+10H]  可以不可以呢,你把ax的值计算出来!
汇编软件在编译的时候能得到寄存器的内容?!

14 楼

各位大侠,我以为
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 楼

是的,你分析的很正确,lea是传送有效地址指令,mov是传送数据的指令,两条八竿子打不着的指令居然还有人硬要牵强附会地拉扯到一起

16 楼

支持14楼!

17 楼


阅,完全正确!下边同我所述~

我来回复

您尚未登录,请登录后再回复。点此登录或注册