用C语言编写函数,该函数设置两个形式参数,对两个数做求和运算。
(1)在C开发环境中编译链接形成可执行文件,并在OllyDbg反汇编工具中对该可执行文件进行反汇编。找出main函数和被调用函数add对应的反汇编代码。
(2)跟踪程序,截取主程序main和子程序add在堆栈段的栈桢数据,并画出main和add完整的栈帧示意图

用C语言编写函数,该函数设置两个形式参数,对两个数做求和运算。
(1)在C开发环境中编译链接形成可执行文件,并在OllyDbg反汇编工具中对该可执行文件进行反汇编。找出main函数和被调用函数add对应的反汇编代码。
(2)跟踪程序,截取主程序main和子程序add在堆栈段的栈桢数据,并画出main和add完整的栈帧示意图

编写函数:
#include <stdio.h>
int add(int a, int b) { return a + b; }
int main() { int c = add(1, 2); printf("%d", c); return 0; }
这个要看你的调用约定
c一般来说是 cdecl
参考:
GNU GCC C调用约定(cdecl)和栈帧结构浅析 - 知乎
这篇文章不是为了完整的描述各种调用约定的细节. 主要是为了解决实际开发中遇到的基本问题的一个原理性的总结. 通过这篇文章,你会对C语言的栈帧结构有一个基础的认识. 但是更多的细节可能没有提供.环境说明操作系…
https://zhuanlan.zhihu.com/p/522729238