summaryrefslogtreecommitdiff
path: root/projects/07/MemoryAccess/StaticTest
diff options
context:
space:
mode:
Diffstat (limited to 'projects/07/MemoryAccess/StaticTest')
-rw-r--r--projects/07/MemoryAccess/StaticTest/StaticTest.cmp2
-rw-r--r--projects/07/MemoryAccess/StaticTest/StaticTest.tst17
-rw-r--r--projects/07/MemoryAccess/StaticTest/StaticTest.vm17
-rw-r--r--projects/07/MemoryAccess/StaticTest/StaticTestVME.tst17
4 files changed, 53 insertions, 0 deletions
diff --git a/projects/07/MemoryAccess/StaticTest/StaticTest.cmp b/projects/07/MemoryAccess/StaticTest/StaticTest.cmp
new file mode 100644
index 0000000..29f4bf0
--- /dev/null
+++ b/projects/07/MemoryAccess/StaticTest/StaticTest.cmp
@@ -0,0 +1,2 @@
+|RAM[256]|
+| 1110 |
diff --git a/projects/07/MemoryAccess/StaticTest/StaticTest.tst b/projects/07/MemoryAccess/StaticTest/StaticTest.tst
new file mode 100644
index 0000000..1f23d66
--- /dev/null
+++ b/projects/07/MemoryAccess/StaticTest/StaticTest.tst
@@ -0,0 +1,17 @@
+// 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/07/MemoryAccess/StaticTest/StaticTest.tst
+
+load StaticTest.asm,
+output-file StaticTest.out,
+compare-to StaticTest.cmp,
+output-list RAM[256]%D1.6.1;
+
+set RAM[0] 256, // initializes the stack pointer
+
+repeat 200 { // enough cycles to complete the execution
+ ticktock;
+}
+
+output; // the stack base
diff --git a/projects/07/MemoryAccess/StaticTest/StaticTest.vm b/projects/07/MemoryAccess/StaticTest/StaticTest.vm
new file mode 100644
index 0000000..65b4f6f
--- /dev/null
+++ b/projects/07/MemoryAccess/StaticTest/StaticTest.vm
@@ -0,0 +1,17 @@
+// 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/07/MemoryAccess/StaticTest/StaticTest.vm
+
+// Executes pop and push commands using the static segment.
+push constant 111
+push constant 333
+push constant 888
+pop static 8
+pop static 3
+pop static 1
+push static 3
+push static 1
+sub
+push static 8
+add
diff --git a/projects/07/MemoryAccess/StaticTest/StaticTestVME.tst b/projects/07/MemoryAccess/StaticTest/StaticTestVME.tst
new file mode 100644
index 0000000..52882a4
--- /dev/null
+++ b/projects/07/MemoryAccess/StaticTest/StaticTestVME.tst
@@ -0,0 +1,17 @@
+// 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/07/MemoryAccess/StaticTest/StaticTestVME.tst
+
+load StaticTest.vm,
+output-file StaticTest.out,
+compare-to StaticTest.cmp,
+output-list RAM[256]%D1.6.1;
+
+set sp 256, // initializes the stack pointer
+
+repeat 11 { // StaticTest.vm has 11 instructions
+ vmstep;
+}
+
+output; // the stack base