不是一样的。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的&取地址操作