这一章的项目是自己编写一个汇编编译器,实现机器码到二进制码的转换。建议大家照着书上的流程和API做,先写出nonsymbol的编译器,再写symbol编译器,原因是带symbol的转化规则刚接触时不太容易理解。我使用的语言是python,同时也建议大家使用python这类脚本语言,总共代码不超过150行,非常简洁。
首先给不熟悉python模块的同学们写几个TIPS:
1,首先要建立PYTHONPATH,以便于通过cmd命令行导入模块;在cmd窗口中进入文件夹后,输入assembler.pyfilename.asm,filename.asm代表参数,在模块文件中用sys.argv[1]来表示。
2,默认的输出文件为prog.hack,需要在文件夹下建立该文件
3,主要使用了字符串的分割、连接、过滤、进制转化,相关内容google或百度非常方便。