Commit Briefs
fix jump semantics (main)
Use as destination the value of A as it was at the start of the cycle, before possibly updating it with the ALU result.
adjust tests to not rely on wrong jump semantics
See previous commit. I actually used the erroneous behavior to save an instruction here and there. So save an instruction elsewhere. :)
test writing to A in a jump instruction
An instruction such as A=0;JMP should branch to the address active at the start of the clock cycle rather than the new value of A which does not update until the next cycle.
compare tests' output against expectation
Includes expected output for hello.hack (hello.out).
add test script and make target
The test target will run test.sh with the list of included roms. The test script (test.sh) runs the emulator on its arguments in trace mode and compares the result against the supplied .tsv file. Includes expected .tsv outputs. Also adds a 'clean' target.