在第 0 行,表达式预期错误(Nand2tetris CPU-emulator)

Posted

技术标签:

【中文标题】在第 0 行,表达式预期错误(Nand2tetris CPU-emulator)【英文标题】:In line 0, Expression expected Error (Nand2tetris CPU-emulator) 【发布时间】:2019-08-04 17:54:53 【问题描述】:

这不是this one的重复,因为我没有任何语法错误——我只有两行代码,所以我确定!

注意:

我确实记得在尝试加载之前保存BasicLoop.asm

我可以将 .asm 代码更改为我喜欢的任何内容,但错误仍然存​​在。

【问题讨论】:

是否将相同的 .asm 文件加载到 cpu 模拟器中,使用 File->Load program 会给出相同的错误,还是只是与您的脚本有关? 【参考方案1】:

尝试删除文件 BasicLoop.asm,然后在不使用任何 VM-Translator 的情况下创建一个新文件。

我尝试重现错误,但从未发生过。

如果您正在开发 VM-Translator,以下内容可能会很有用:

我也陷入了类似的错误中: 预计行尾。找到“0”

在检查我的 CodeWriter 时,我发现它写了 @0@0 并且在某些地方它结合了 2 个单独的代码作为 0;JMP00;JMP D=A

希望对你有帮助。

【讨论】:

【参考方案2】:

这也发生在我身上很多次。首先要认识到第 0 行引用是没有意义的。问题可能在您的汇编代码中的任何地方。

你应该查看你的汇编代码的每一行,检查没有复合命令,比如:

@SPD=M

应该是什么时候

@SP D=M

另外,请确保您没有 (@LABEL) 而只有 (LABEL)。那也可以。

【讨论】:

以上是关于在第 0 行,表达式预期错误(Nand2tetris CPU-emulator)的主要内容,如果未能解决你的问题,请参考以下文章