aboutsummaryrefslogtreecommitdiff
path: root/projects/07/MemoryAccess/BasicTest
diff options
context:
space:
mode:
Diffstat (limited to 'projects/07/MemoryAccess/BasicTest')
-rw-r--r--projects/07/MemoryAccess/BasicTest/BasicTest.asm250
-rw-r--r--projects/07/MemoryAccess/BasicTest/BasicTest.out2
-rw-r--r--projects/07/MemoryAccess/BasicTest/delme.asm26
-rw-r--r--projects/07/MemoryAccess/BasicTest/delme.vm8
4 files changed, 286 insertions, 0 deletions
diff --git a/projects/07/MemoryAccess/BasicTest/BasicTest.asm b/projects/07/MemoryAccess/BasicTest/BasicTest.asm
new file mode 100644
index 0000000..d978f07
--- /dev/null
+++ b/projects/07/MemoryAccess/BasicTest/BasicTest.asm
@@ -0,0 +1,250 @@
+@256
+D=A
+@SP
+M=D
+@10
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@LCL
+D=M
+@0
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@21
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@22
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@ARG
+D=M
+@2
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@ARG
+D=M
+@1
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@36
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@THIS
+D=M
+@6
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@42
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@45
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@THAT
+D=M
+@5
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@THAT
+D=M
+@2
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+@510
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@11
+M=D
+@LCL
+D=M
+@0
+D=A+D
+A=D
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@THAT
+D=M
+@5
+D=A+D
+A=D
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@SP
+AM=M-1
+D=M+D
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@ARG
+D=M
+@1
+D=A+D
+A=D
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@SP
+AM=M-1
+D=M-D
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@THIS
+D=M
+@6
+D=A+D
+A=D
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@THIS
+D=M
+@6
+D=A+D
+A=D
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@SP
+AM=M-1
+D=M+D
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@SP
+AM=M-1
+D=M-D
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@11
+D=M
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@SP
+AM=M-1
+D=M
+@SP
+AM=M-1
+D=M+D
+@SP
+A=M
+M=D
+@SP
+M=M+1
+(END)
+@END
+0;JMP \ No newline at end of file
diff --git a/projects/07/MemoryAccess/BasicTest/BasicTest.out b/projects/07/MemoryAccess/BasicTest/BasicTest.out
new file mode 100644
index 0000000..85c19a7
--- /dev/null
+++ b/projects/07/MemoryAccess/BasicTest/BasicTest.out
@@ -0,0 +1,2 @@
+|RAM[256]|RAM[300]|RAM[401]|RAM[402]|RAM[3006|RAM[3012|RAM[3015|RAM[11] |
+| 472 | 10 | 21 | 22 | 36 | 42 | 45 | 510 |
diff --git a/projects/07/MemoryAccess/BasicTest/delme.asm b/projects/07/MemoryAccess/BasicTest/delme.asm
new file mode 100644
index 0000000..6392181
--- /dev/null
+++ b/projects/07/MemoryAccess/BasicTest/delme.asm
@@ -0,0 +1,26 @@
+@256
+D=A
+@SP
+M=D
+@10
+D=A
+@SP
+A=M
+M=D
+@SP
+M=M+1
+@LCL
+D=M
+@0
+D=A+D
+@R13
+M=D
+@SP
+AM=M-1
+D=M
+@R13
+A=M
+M=D
+(END)
+@END
+0;JMP \ No newline at end of file
diff --git a/projects/07/MemoryAccess/BasicTest/delme.vm b/projects/07/MemoryAccess/BasicTest/delme.vm
new file mode 100644
index 0000000..d1ae195
--- /dev/null
+++ b/projects/07/MemoryAccess/BasicTest/delme.vm
@@ -0,0 +1,8 @@
+// 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/BasicTest/BasicTest.vm
+
+// Executes pop and push commands using the virtual memory segments.
+push constant 10
+pop local 0