2

我正在逐步执行 Windows 7 中的结构化错误处理恢复代码(例如,在 SEH 处理程序完成并传回“CONTINUE”代码后会发生什么)。这是一个调用的函数:

 7783BD9F  mov         edi,edi  
 7783BDA1  push        ebp 
 7783BDA2  mov         ebp,esp   
 7783BDA4  push        1  
 7783BDA6  push        dword ptr [ebp+0Ch]  
 7783BDA9  push        dword ptr [ebp+8]  
 7783BDAC  call        778692DF  
 7783BDB1  pop         ebp  
 7783BDB2  ret         8  

我习惯了“push ebp/mov ebp,esp”的功能序言。“mov edi,edi”的目的是什么?

4

1 回答 1

8

Raymond Chen(Microsoft 开发人员之一)已经回答了这个确切的问题:

他链接了一个更早的参考:

基本上,它为热补丁期间插入的跳转指令留出了空间。

于 2012-07-05T03:11:00.663 回答