正在阅读:DLL中调用约定和名称修饰(一)DLL中调用约定和名称修饰(一)

2004-03-04 10:28 出处:CSDN 作者:rivershan 责任编辑:linjixiong


  函数调用部分的汇编代码:

  ;Add(1, 2, 3, 4);

  push 4 ;后两个参数从右到左入栈,先压入4

  mov edx,3 ;将int类型的3放入edx

  push 40000000h ;压入double类型的2

  push 0

  mov ecx,1 ;将int类型的1放入ecx

  call @ILT+0(Add) (00401005) ;调用函数实现
 
  函数实现部分的反汇编代码:

  ; int __fastcall Add(int a, double b, int c, int d)

  push ebp

  mov ebp,esp

  sub esp,48h

  push ebx

  push esi

  push edi

  push ecx

  lea edi,[ebp-48h]

  mov ecx,12h

  mov eax,0CCCCCCCCh

  rep stos dword ptr [edi]


  pop ecx

  mov dword ptr [ebp-8],edx

  mov dword ptr [ebp-4],ecx





察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品