您的位置:首页 > 其它

汇编函数的调用

2005-12-01 18:19 169 查看
1:    #include "stdio.h"
2:    int add(int a, int b)
3:    {
00401020   push        ebp
00401021   mov         ebp,esp
00401023   sub         esp,44h
00401026   push        ebx
00401027   push        esi
00401028   push        edi
00401029   lea         edi,[ebp-44h]
0040102C   mov         ecx,11h
00401031   mov         eax,0CCCCCCCCh
00401036   rep stos    dword ptr [edi]
4:     int c;
5:     c = a + b;
00401038   mov         eax,dword ptr [ebp+8]
0040103B   add         eax,dword ptr [ebp+0Ch]
0040103E   mov         dword ptr [ebp-4],eax
6:     return c;
00401041   mov         eax,dword ptr [ebp-4]
7:    }
00401044   pop         edi
00401045   pop         esi
00401046   pop         ebx
00401047   mov         esp,ebp
00401049   pop         ebp
0040104A   ret
8:    int main()
9:    {
00401060   push        ebp
00401061   mov         ebp,esp
00401063   sub         esp,44h
00401066   push        ebx
00401067   push        esi
00401068   push        edi
00401069   lea         edi,[ebp-44h]
0040106C   mov         ecx,11h
00401071   mov         eax,0CCCCCCCCh
00401076   rep stos    dword ptr [edi]
10:    int Result = add(123, 456);
00401078   push        1C8h
0040107D   push        7Bh
0040107F   call        @ILT+0(add) (00401005)
00401084   add         esp,8
00401087   mov         dword ptr [ebp-4],eax
11:    printf("/n************/n");
0040108A   push        offset string "/n************/n" (0042001c)
0040108F   call        printf (004010c0)
00401094   add         esp,4
12:    return 0;
00401097   xor         eax,eax
13:   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编 c string