0

我一直在研究 Nand2Tetris 第 2 部分,第 2 模块,在那里我试图弄清楚该函数如何在 hack 程序集中返回一个值。按照导师的说法,他是这样说的:

在此处输入图像描述

所以最后一个汇编代码说我们必须转到 ReturnAddress,根据我的理解,这是堆栈将进一步继续执行的地方。但是在前面的命令中,它清楚地说明了两件事:

  1. *ARG = 流行()
  2. SP = ARG + 1;

所以 SP - 堆栈指针将在参数 0 之后。指令还说明了以下内容:“一旦我将 SP 设置在 ARG 以下,我基本上就隐含地传达了 SP 以下的一切都只是游戏。 ”我真的不明白怎么会程序从 ReturnAddress 继续,但它不会从 SP 开始吗?

在他们的讨论论坛中,出现了这个问题,但我仍然对 RetAddress 的真正用途以及如何使用它感到迷茫。

在此处输入图像描述

我真的很感激任何帮助。我在这里想念什么?

4

0 回答 0