Nick's Tech Blog

I'm a software developer, and these are my thoughts.


29 Oct 2015 | | mooc, comp-sci

A Bit of Assembly

I’m throwing in the towel for week 4 of the Nand to Tetris project. I was able to verify my solutions work properly for both the multiplication problem and the screen fill problem, but for some reason the automated checker has additional conditions beyond the stated requirements in the project goal so it’s failing ‘on line 3 of the comparison,’ but there’s no way for me to verify what it’s actually comparing against.

I’ve verified that my fill application fills the virtual screen white and black depending on key press per the spec, but it still failed. I even switched it so it would push the entire screen black or white on a single press/release rather than needing to hold the key down. Since the course creators don’t make the checker available nor the comparison file for this week I don’t think I can actually debug what these extra requirements I’m missing are. On the plus side of things the multiplier program was trivial to make, as you only really need to accumulate and then sign check the arguments.

Overall I can say I really don’t like the hack assembly language that the course teaches, and hopefully I wont need to deal with it in future assignments very much, although I have a feeling I will. When I first checked the course out I was excited to learn a bit of assembly, but the specific language we are using here doesn’t look anything like the x86 assembly instruction set I’ve seen floating around the web and on stack overflow. It’s a very limited, and odd assembly-style language.

Next week’s course has me dealing with assembling all of the components into a runnable PC, which after this weeks course seems like it will be much more fun.

Previous Post - The ALU
Windows 10 Insider - Next Post
comments powered by Disqus