能力值:
( LV2,RANK:10 )
|
-
-
2 楼
LEA:load affective address 加载/传送有效地址
DS:[ECX+ECX*4] 这条指令标示该地址中的值
LEA ECX,DWORD PTR DS:[ECX+ECX*4] 这条指令的意思就是 ecx=ecx*5
|
能力值:
( LV5,RANK:65 )
|
-
-
3 楼
[QUOTE=闪光灯主;1207413]LEA:load affective address 加载/传送有效地址
DS:[ECX+ECX*4] 这条指令标示该地址中的值
LEA ECX,DWORD PTR DS:[ECX+ECX*4] 这条指令的意思就是 ecx=ecx*5[/QUOTE]
LEA是获取地址啊
LEA ECX,DWORD PTR DS:[ECX+ECX*4]
是把ecx*5的地址赋给ecx吧
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
LEA ECX,DWORD PTR DS:[ECX+ECX*4] 这条指令的意思就是 ecx=ecx*5
LEA ECX,DWORD PTR DS:[ECX*5],为啥不这么搞?效率原因?
|
能力值:
( LV5,RANK:65 )
|
-
-
5 楼
[QUOTE=makefriend;1207488]LEA ECX,DWORD PTR DS:[ECX+ECX*4] 这条指令的意思就是 ecx=ecx*5
LEA ECX,DWORD PTR DS:[ECX*5],为啥不这么搞?效率原因?[/QUOTE]
为啥是把地址给ecx呢 不是用mov呢???
|
能力值:
( LV5,RANK:65 )
|
-
-
6 楼
我明白了。
LEA ECX,DWORD PTR DS:[ECX+ECX*4] 就是把ecx+ecx*4的值放入ecx
如果用mov 就是把[ECX+ECX*4] 地址所存的值放入ecx了。
004013D5 |. 8D35 C4334000 lea esi,dword ptr ds:[0x4033C4] ; 取字符串首地址 到esi
看这个就会明白 esi中放的是0x4033C4,而不是 ds:[0x4033C4]地址的值。如果要取值,用mov。
|
|
|