mov eax, dword ptr [ebp+Str1] 和 lea eax, [ebp+Str1] 是不是一样的

2025-12-15 01:15:08
推荐回答(1个)
回答1:

不是一样的。

mov eax, dword ptr [ebp+Str1] 是取Str1字符串中的4个连续的字符值到eax中

lea eax, [ebp+Str1] 是取Str1字符串的地址到eax中.

用C表示的话,有char Str1[] = "1234";
mov eax, dword ptr [ebp+Str1] ; eax = '1234', 即0x34333231
lea eax, [ebp+Str1] ; eax = Str1, 是Str1的地址,类似c的&取地址操作