nand2tetris 6- 发表于 2024-08-06 接下来就是软件部分了。 6 汇编编译器。 C(计算)指令有固定格式,直接替换;A(A 寄存器声明)和 L(标签)指令包含自定义符号,可以用 hash table 维护。 注意 L 指令定义的标签是全局生效的,可以在前文跳转到后文定义的标签。因此采用 2-pass,即读取两遍,先后处理 L 指令、A / C 指令。 我用 C 语言完成了这个项目。写 C 需要考虑很多细节问题,我没有系统学过,写得很不规范。之后得补课了。