From d3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 20 Jan 2018 15:41:49 +0100 Subject: rearranged the dir for github - removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes --- projects/12/SysTest/Main.jack | 31 ----- projects/12/SysTest/Main.vm | 281 ------------------------------------------ projects/12/SysTest/Sys.jack | 51 -------- projects/12/SysTest/Sys.vm | 74 ----------- 4 files changed, 437 deletions(-) delete mode 100644 projects/12/SysTest/Main.jack delete mode 100644 projects/12/SysTest/Main.vm delete mode 100644 projects/12/SysTest/Sys.jack delete mode 100644 projects/12/SysTest/Sys.vm (limited to 'projects/12/SysTest') diff --git a/projects/12/SysTest/Main.jack b/projects/12/SysTest/Main.jack deleted file mode 100644 index a153b25..0000000 --- a/projects/12/SysTest/Main.jack +++ /dev/null @@ -1,31 +0,0 @@ -// 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/12/SysTest/Main.jack - -/** Test program for the OS Sys class. */ -class Main { - - /** Tests the wait method of the Sys class. */ - function void main() { - var char key; - - do Output.printString("Wait test:"); - do Output.println(); - do Output.printString("Press any key. After 2 seconds, another message will be printed:"); - - while (key = 0) { - let key = Keyboard.keyPressed(); - } - while (~(key = 0)) { - let key = Keyboard.keyPressed(); - } - - do Sys.wait(2000); - - do Output.println(); - do Output.printString("Time is up. Make sure that 2 seconds elapsed."); - - return; - } -} diff --git a/projects/12/SysTest/Main.vm b/projects/12/SysTest/Main.vm deleted file mode 100644 index 4890e2f..0000000 --- a/projects/12/SysTest/Main.vm +++ /dev/null @@ -1,281 +0,0 @@ -function Main.main 1 -push constant 10 -call String.new 1 -push constant 87 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 58 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -call Output.println 0 -pop temp 0 -push constant 64 -call String.new 1 -push constant 80 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 121 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 107 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 121 -call String.appendChar 2 -push constant 46 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 65 -call String.appendChar 2 -push constant 102 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 50 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 99 -call String.appendChar 2 -push constant 111 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 100 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 44 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 111 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 104 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 109 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 103 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 119 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 108 -call String.appendChar 2 -push constant 108 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 98 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 112 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 100 -call String.appendChar 2 -push constant 58 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -label WHILE_EXP0 -push local 0 -push constant 0 -eq -not -if-goto WHILE_END0 -call Keyboard.keyPressed 0 -pop local 0 -goto WHILE_EXP0 -label WHILE_END0 -label WHILE_EXP1 -push local 0 -push constant 0 -eq -not -not -if-goto WHILE_END1 -call Keyboard.keyPressed 0 -pop local 0 -goto WHILE_EXP1 -label WHILE_END1 -push constant 2000 -call Sys.wait 1 -pop temp 0 -call Output.println 0 -pop temp 0 -push constant 45 -call String.new 1 -push constant 84 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 109 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 117 -call String.appendChar 2 -push constant 112 -call String.appendChar 2 -push constant 46 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 77 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 107 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 117 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 104 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 50 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 99 -call String.appendChar 2 -push constant 111 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 100 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 108 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 112 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 100 -call String.appendChar 2 -push constant 46 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -push constant 0 -return diff --git a/projects/12/SysTest/Sys.jack b/projects/12/SysTest/Sys.jack deleted file mode 100644 index 53c078c..0000000 --- a/projects/12/SysTest/Sys.jack +++ /dev/null @@ -1,51 +0,0 @@ -// 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/12/Sys.jack - -/** - * A library that supports various program execution services. - */ -class Sys { - - /** Performs all the initializations required by the OS. */ - function void init() { - do Keyboard.init(); - do Math.init(); - do Memory.init(); - do Output.init(); - do Screen.init(); - do Main.main(); - do Sys.halt(); - return; - } - - /** Halts the program execution. */ - function void halt() { - while (true){ - } - return; - } - - /** Waits approximately duration milliseconds and returns. */ - function void wait(int duration) { - var int i, j; - let i = 0; - while (i < duration){ - let i = i + 1; - let j = 0; - while (j < 318){ - let j = j + 1; - } - } - return; - } - - /** Displays the given error code in the form "ERR", - * and halts the program's execution. */ - function void error(int errorCode) { - do Output.printString("ERR"); - do Output.printInt(errorCode); - return; - } -} diff --git a/projects/12/SysTest/Sys.vm b/projects/12/SysTest/Sys.vm deleted file mode 100644 index fec2862..0000000 --- a/projects/12/SysTest/Sys.vm +++ /dev/null @@ -1,74 +0,0 @@ -function Sys.init 0 -call Keyboard.init 0 -pop temp 0 -call Math.init 0 -pop temp 0 -call Memory.init 0 -pop temp 0 -call Output.init 0 -pop temp 0 -call Screen.init 0 -pop temp 0 -call Main.main 0 -pop temp 0 -call Sys.halt 0 -pop temp 0 -push constant 0 -return -function Sys.halt 0 -label WHILE_EXP0 -push constant 0 -not -not -if-goto WHILE_END0 -goto WHILE_EXP0 -label WHILE_END0 -push constant 0 -return -function Sys.wait 2 -push constant 0 -pop local 0 -label WHILE_EXP0 -push local 0 -push argument 0 -lt -not -if-goto WHILE_END0 -push local 0 -push constant 1 -add -pop local 0 -push constant 0 -pop local 1 -label WHILE_EXP1 -push local 1 -push constant 318 -lt -not -if-goto WHILE_END1 -push local 1 -push constant 1 -add -pop local 1 -goto WHILE_EXP1 -label WHILE_END1 -goto WHILE_EXP0 -label WHILE_END0 -push constant 0 -return -function Sys.error 0 -push constant 3 -call String.new 1 -push constant 69 -call String.appendChar 2 -push constant 82 -call String.appendChar 2 -push constant 82 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -push argument 0 -call Output.printInt 1 -pop temp 0 -push constant 0 -return -- cgit v1.2.3