程序的机器级表示之过程调用

2018-11-11  本文已影响0人  我就是我啊

过程调用的执行步骤(p为调用者,q为被调用者)

(1)p将入口参数(实参)放到q能访问到的地方

(2)p保存返回地址,然后将控制转移到q;使用call指令 ---p过程

(3)q保存p的现场,并为自己的非静态局部变量分配空间; ---q过程准备阶段

(4)执行q的过程体(函数体); --q过程处理阶段

(5)q回复p的现场,释放局部变量空间;

(6)q取出返回地址,将控制转移到p。 使用ret指令 -- q过程结束阶段

现场:通用寄存器的内容

为何要保存现场:因为所有的过程共享一套通用寄存器

上一篇 下一篇

猜你喜欢

热点阅读