类似Lea EAX,[EBX+10]的作用

来源:互联网 发布:英语配音软件哪个好 编辑:程序博客网 时间:2024/05/19 00:37


Lea是返回偏移地址,对于 Lea EAX,s1 这样很好解释,就是返回变量s1的偏移地址

Lea EAX,[EBX+10]就比较复杂了

[EBX+10]表示EBX+10后作为地址,此地址指向位置的值,取的是EBX+10地址内的内容。

那Lea究竟是把这个内容作为地址存入EAX,还是把这个内容的地址赋给EAX呢?如果是后者,那不是跟MOV EAX,EBX+10的效果一样了?

 

实际的效果应该是后者,Mov EAX,EBX+10是非法的语句,汇编不允许操作数有2个寄存器和立即数存在。

 

Lea EAX,[EBX+10]的作用就是把EBX+10作为地址存入EAX。

 

以下是E语言代码

' mov eax,908a00   
' mov [12f344],eax
' mov eax,12f344     原来是lea eax, [12f344]
' mov ecx,1000000    //头0,面1.链2....以此类推
' mov [12f345],ecx
' push eax
' mov edx,1d
' mov [12f347],edx
' call 00538A50
' add esp,0x4

 

E语言里面有些汇编命令有PTR,PTR的意思就是取地址里的值

mov eax,908a00     MOV EAX,908a00

mov eax,[908a00]     MOV EAX_PTR 908A00

0 0
原创粉丝点击