zoukankan      html  css  js  c++  java
  • 汇编函数的调用[转自KingofCoders]

    汇编函数的调用

    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: }

  • 相关阅读:
    nginx日志、变量
    http相关
    nginx.conf文件的使用
    NA交换①
    第一章 何为网络
    第二章 以太网
    SATA、SCSI、SAS
    第十章 安全
    附录A 思科互联网络操作系统(IOS)
    标准ACL、扩展ACL和命名ACL的配置详解
  • 原文地址:https://www.cnblogs.com/feng801/p/1610393.html
Copyright © 2011-2022 走看看