能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不同的
lea ecx, dword ptr ds:[ecx]
把ecx装的值作为地址 再把该地址的值 给ecx
|
能力值:
( LV13,RANK:388 )
|
-
-
3 楼
[QUOTE=Tangsir;789520]不同的
lea ecx, dword ptr ds:[ecx]
把ecx装的值作为地址 再把该地址的值 给ecx[/QUOTE]
你想太多了,那是mov
就像lz说的,这条指令真的什么作用都没有
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
使我想起mov edi,edi,都是两个字节,大概是Hot-patching吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
当源操作数很简单的情况下,完全可以用mov指令代替lea指令,如lea esi,Buffer,完全可以用指令mov esi,offset Buffer代替;但当源操作数稍微复杂一点的话,单用mov指令就代替不了了,至少要用到算术运算指令。指令集中提供lea指令,就是为了减少这些计算上的麻烦。
制造出来的设备、工具是为了减轻人们的劳动强度和提高工作效率。犹如,用原始的铁锅、烧柴禾能够烧菜、做饭,用煤气灶、电饭锅也能烧菜、做饭,你愿意用哪个呢?
|
能力值:
( LV12,RANK:530 )
|
-
-
6 楼
我觉得是把ecx的内容扩展为双字节然后在存入ecx中!不知道对不对,还请高手请答!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=Tangsir;789520]不同的
lea ecx, dword ptr ds:[ecx]
把ecx装的值作为地址 再把该地址的值 给ecx[/QUOTE]
如下
005475EE . 8D45 EC lea eax, dword ptr [ebp-14]
EAX 0054C290 5winchm.0054C290
ECX 0012FF78
EDX 00000000
EBX 7FFD5000
ESP 0012FF80
EBP 0012FFC0
ESI FFFFFFFF
EDI 7C930228 ntdll.7C930228
EIP 005475EE 5winchm.005475EE
执行后eax为0012FFAC
即ebp-14=0012FFC0-14
005475F6 . 8B55 EC mov edx, dword ptr [ebp-14]
EAX 0012FFAC
ECX 00000000
EDX 00000000
EBX 7FFD5000
ESP 0012FF80
EBP 0012FFC0
ESI FFFFFFFF
EDI 7C930228 ntdll.7C930228
EIP 005475F6 5winchm.005475F6
执行后edx为00B9232C
即0012FFAC地址内的值
|
|
|