汇编指令 CALL 和 RET 的具体实现

 

在机器中的实现细节如图:

 

注意 :上图中的返回地址是去之后计算出的下一条指令的地址,并将其压入栈中。

            在函数返回之前,栈指针已经指向的返回地址所在的内存空间。

 

 

对于栈空间的分配和释放,机器指令并不负责。所以调用前的栈空间分配,和返回前的栈空间释放,都需要汇编代码来负责执行。

 

 

 By The Way :

     处理器将不同的指令分为固定顺序的几个阶段来执行,使处理器能以相同的行为来处理不同的指令。提高硬件的利用率。

posted @ 2019-08-07 18:52  哼哼先生  阅读(876)  评论(0编辑  收藏  举报