summaryrefslogtreecommitdiff
path: root/projects/07/MemoryAccess/StaticTest
diff options
context:
space:
mode:
authorFrederick Yin <fkfd@fkfd.me>2022-08-16 11:54:23 +0800
committerFrederick Yin <fkfd@fkfd.me>2022-08-16 11:54:23 +0800
commit9542deeb483a00b6fabed7574720926ce97d7511 (patch)
tree0f2c1f72c03dd4693fd59df67544d2a4dddc5494 /projects/07/MemoryAccess/StaticTest
parent9c0cb1d1c32724fc95ac9548e4f8d873d3adaccc (diff)
Projects, 01-06 completed
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