Кто-нибудь знает,что делает "mov edi, edi"?

69A8AB13  int         3    
69A8AB14  int         3    
69A8AB15  mov         edi,edi 
69A8AB17  push        ebp  
69A8AB18  mov         ebp,esp 

mov edi,edi не имеет смысла для меня,что это?

3 ответов


Это 2-байтовая инструкция NOP. Он включается в начале любой функции в образ, скомпилированный с параметром / hotpatch:

http://msdn.microsoft.com/en-us/library/ms173507.aspx

-Скотт



согласно этой странице:обратная инженерия StackExchange

в x86-64 mov edi, edi не является NOP. В x86-64 он обнуляет верхние 32 бита rdi.

Я, хотя это было достаточно важным, чтобы указать на это, в дополнение к snoone'ы ответ.