summaryrefslogtreecommitdiff
path: root/projects/05/ComputerMax-external.tst
diff options
context:
space:
mode:
Diffstat (limited to 'projects/05/ComputerMax-external.tst')
-rw-r--r--projects/05/ComputerMax-external.tst38
1 files changed, 38 insertions, 0 deletions
diff --git a/projects/05/ComputerMax-external.tst b/projects/05/ComputerMax-external.tst
new file mode 100644
index 0000000..52b6bef
--- /dev/null
+++ b/projects/05/ComputerMax-external.tst
@@ -0,0 +1,38 @@
+// This file is part of www.nand2tetris.org
+// and the book "The Elements of Computing Systems"
+// by Nisan and Schocken, MIT Press.
+// File name: projects/05/ComputerMax-external.tst
+
+load Computer.hdl,
+output-file ComputerMax-external.out,
+compare-to ComputerMax-external.cmp,
+output-list time%S1.4.1 reset%B2.1.2 RAM16K[0]%D1.7.1 RAM16K[1]%D1.7.1 RAM16K[2]%D1.7.1;
+
+// Load a program written in the Hack machine language.
+// The program computes the maximum of RAM[0] and RAM[1]
+// and writes the result in RAM[2].
+ROM32K load Max.hack,
+
+// first run: compute max(3,5)
+set RAM16K[0] 3,
+set RAM16K[1] 5,
+output;
+
+repeat 14 {
+ tick, tock, output;
+}
+
+// reset the PC
+set reset 1,
+tick, tock, output;
+
+// second run: compute max(23456,12345)
+set reset 0,
+set RAM16K[0] 23456,
+set RAM16K[1] 12345,
+output;
+
+// The run on these inputs needs less cycles (different branching)
+repeat 10 {
+ tick, tock, output;
+}