From 040cf91851036a0216e7b5faea1f74ecd674db50 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 3 Jan 2018 11:49:20 +0100 Subject: Finished Project 7 --- projects/07/MemoryAccess/BasicTest/BasicTest.asm | 250 +++++++++++++++++++++++ projects/07/MemoryAccess/BasicTest/BasicTest.out | 2 + projects/07/MemoryAccess/BasicTest/delme.asm | 26 +++ projects/07/MemoryAccess/BasicTest/delme.vm | 8 + 4 files changed, 286 insertions(+) create mode 100644 projects/07/MemoryAccess/BasicTest/BasicTest.asm create mode 100644 projects/07/MemoryAccess/BasicTest/BasicTest.out create mode 100644 projects/07/MemoryAccess/BasicTest/delme.asm create mode 100644 projects/07/MemoryAccess/BasicTest/delme.vm (limited to 'projects/07/MemoryAccess/BasicTest') 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 -- cgit v1.2.3