44、P1 W6 U6.6B 作业6 不编程实现

作者: shazizm | 来源:发表于2019-09-29 23:04 被阅读0次

    视频:
    如果本次课程对应的 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 最后一节课 总结了。

    相关文章

      网友评论

        本文标题:44、P1 W6 U6.6B 作业6 不编程实现

        本文链接:https://www.haomeiwen.com/subject/xgwfpctx.html