对于一个简单的add函数:
#include<stdio.h>int Add(int x, int y)
{
int c = 0;
c = x + y;
return c;
}
int main()
{
int a = 10;
int b = 20;
int c = 0;
printf("%d\n", Add(a, b));system("pause");
return 0;
}
我们瞅一眼就能想出这个函数是一个怎么样的运算过程,但是我们瞅一眼也能知道对于机器来说这个函数是一个怎么样被执行的过程吗?
在编译器(以vc6.0为例)中执行这段代码,转到反汇编,我们可以逐条分析汇编代码,从而理解机器执行了怎样的运算步骤。
首先编译。转到反汇编。先截取部分图片分析。