视频:
如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W6U6.6B -Project-6-Overview Without Programming
软件:
全课程所需软件项目包官方下载:
https://www.nand2tetris.org/software
备了一份软件项目包放在CSDN了,版本2.6支持Mac、Linux、Windows:
https://download.csdn.net/download/shazizm/11268147
如果没有接触过高级语言编程的同学。不是,可以跳过本节课。
人肉汇编器
这节课主要提供一些建议, 人工如何 翻译 汇编程序。
文本编辑器
这里需要你有个编辑器,比如文本编辑器,或者WordOffice,用来写我们的 xxx.hack 文件。也就是翻译后的文件。
具体步骤呢,其实就是上节课,或者本周课里讲的汇编器工作的逻辑
化繁为简
同样,老师给出了化繁为简的建议,比如分两步来完成。
先处理无符号的情况,再把符号替换。
无符号
无符号的汇编程序,回顾U6.3 的内容,拆分,查表,翻译。。。
有符号
首先回顾U6.4
把variables的符号转换,例如遇见第一个variable时, @i 的 i 用16替换。一次类推 sum 就是17。
@i 的替换 示例再考虑labels,先给指令编号行号,不包括空行和注释行。还有label的声明行(就是括号那样的),然后Label替换成它下行指令的行号。例如下图。
51.png如何检查翻译结果
有如下图三个工具,都在老师的软件包里(本节最开始处有下载链接)
U6.6A 有视频演示 Assembler 如何使用下面给出 Assembler 的示意图
接下来就是part1 最后一节课 总结了。
网友评论