首页 > 解决方案 > '@R0',...,'@R15',而不是'@0',...,'@15'有什么意义?

问题描述

这种记忆法的意义何在?'@R0',...,'@R15',而不是'@0',...,'@15'?

他们可能在课程中提到过,但我忘记了,而且如果不阅读几页文字就很难得到答案。

标签: assemblymemoryramnand2tetris

解决方案


它们是用来提醒您前 16 个内存位置通常用作暂存器值的助记符,并使您的代码更易于阅读。此外,它们标记了在您使用 @Variable_Name 构造时未自动分配的位置;那些从 16 岁开始。

请注意,R0-R4 也可以分别称为 SP、LCL、ARG、THIS 和 THAT。这些名称指的是在进行函数调用时标准 Hack 汇编代码中使用的位置。


推荐阅读