虚拟机指令集&栈与函数调用(下)

虚拟机指令集&栈与函数调用(下)

第一可以把代码的位置恢复到之前的状态第二可以把栈的状态恢复到调用之前的状态所以记录老的bp就是为了调用结束恢复用的然后再给栈 增加一些空间存局部变量 这里的局部变量只有一个ret然后执行 ret = a+b首先要把赋值的部分ret地址存下来等赋值完成之后 有个地方去装这个结果所以需要把这个地址拿出来...

虚拟机指令集&栈与函数调用(中)

虚拟机指令集&栈与函数调用(中)

add栈中保存了返回地址参数一般放在main栈的最底下 也可以定义在add栈里面main栈的栈基base point 即bp局部变量ret最后就是栈顶当add调用结束之后 直接回到bp位置所有的局部变量就不需要了然后把add栈中的bp放到main栈中的bp中去返回值给pc然后代码区就会有一个跳转这就...

Java 虚拟机原理

6 课时 |
11389 人已学 |
免费
开发者课程背景图
虚拟机指令集&栈与函数调用(上)

虚拟机指令集&栈与函数调用(上)

指令集save&loadIMM全称load immidiatily立即加载数据到寄存器LEAload effective address加载地址LC/LI/SC/SIload char/load int:将char和int加载到寄存器save char/save int:将char和int从...

为什么Java虚拟机指令集使用Java栈来存储中间数据啊?

为什么Java虚拟机指令集使用Java栈来存储中间数据啊?

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

云服务器ECS
云服务器ECS
做技术先进、性能优异、稳如磐石的弹性计算!
418277+人已加入
加入
相关电子书
更多
基于英特尔 SSD 的虚拟机缓存解决SSD
立即下载