架构分析:当所有寄存器都被子程序使用时,机器在跳转到新的子程序之前必须做什么?

发布于 2024-10-13 07:24:22 字数 165 浏览 5 评论 0原文

在面向对象编程中,我们将频繁运行的小块代码组织成方法。与复制/过去相比,这减少了代码总量(以及其他优点)。在汇编语言和机器语言中,这些可重用的块称为子例程。

通常,原始例程和调用的子例程会使用许多或大部分可用寄存器。

当子程序用完所有寄存器时, 解释机器在跳到新子程序之前必须做什么。

In OO programming we organize small chunks of frequently run code into methods. This reduces the total amount of code compared to copy/past (among other advantages). In assembly and machine languages these reusable chunks are called subroutines.

Often the original routine and the subroutine called make use of many or most of the available registers.

When all registers are used up by the subroutine,
explain what the machine must do before jumping to the new subroutine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春风十里 2024-10-20 07:24:22

因此,被调用者寄存器作为调用序列的一部分被推送,并在子例程退出后作为返回序列的一部分恢复。此链接提供了有关此内容的更多详细信息。

So the callee registers are pushed as part of call sequence and restored after subroutine exits as part of return sequence. This link provides further details on this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文