C语言作为面向过程的语言,函数是其中最重要的部分,同时函数也是C种的一个难点,这篇文章希望通过汇编的方式说明函数的实现原理. 栈结构与相关的寄存器 在计算中,栈是十分重要的一种数据结构,同时也是CPU直接支持的一种数据结构,栈采用先进后出的方式.CPU中分别用两个寄存器ebp和esp来保存栈底地址和栈顶地址,在CPU层面只需要ebp的值大于ESP的值两个寄存器所指向的内存的中间的部分就构成了一个栈.汇编中采用push和pop两个指令来表示入栈和出栈,这两个指令后面直接跟寄存器或者内存地址,表示将