研究目的:了解汇编如何实现C语言中的函数调用
编译器:TDM-GCC 4.9.2 64-bit Release
反汇编:Dev-C++ 5.11
C语言代码:
该函数调用了一个简单的add函数,add函数将输入的两个参数值相加,并返回两参数之和。
main函数:
1、2行:rbp的作用是标记基址,在一个函数的执行过程中是固定不变的,因此可借助基址与偏移量来访问栈内数据。rsp的作用是标识当前栈所占空间。main函数实际上也是被调用的一方,即在第一行代码执行前,当前rsp与rbp之间的数据为调用方数据,需要进行保护。保护方式为将调用函数的rbp保存进栈,以备时候恢复现场。然后让rbp指向rsp,以便准备使