summaryrefslogtreecommitdiff
path: root/projects/12/Sys.jack
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2018-01-17 16:44:59 +0100
committerYuchen Pei <me@ypei.me>2018-01-17 16:44:59 +0100
commitfd8e3bee660f22032b51bc12452353b141e125be (patch)
treed9f406d85fdac99844770818eeadc8954e387627 /projects/12/Sys.jack
parentc3598a26ab4ba0562ede74b37dc2a7aa6907640a (diff)
checkpoint
- finished Array - finished Sys - revised Memory
Diffstat (limited to 'projects/12/Sys.jack')
-rw-r--r--projects/12/Sys.jack19
1 files changed, 19 insertions, 0 deletions
diff --git a/projects/12/Sys.jack b/projects/12/Sys.jack
index bee6f67..d6b99f6 100644
--- a/projects/12/Sys.jack
+++ b/projects/12/Sys.jack
@@ -10,18 +10,37 @@ class Sys {
/** Performs all the initializations required by the OS. */
function void init() {
+ do Array.init();
+ do Keyboard.init();
+ do Math.init();
+ do Memory.init();
+ do Output.init();
+ do Screen.init();
+ do String.init();
+ do Main.main();
}
/** Halts the program execution. */
function void halt() {
+ while (true){
+ }
+ return;
}
/** Waits approximately duration milliseconds and returns. */
function void wait(int duration) {
+ Output.printString("waiting")
+ let i = 0;
+ while (i < 50000){
+ let i = i + 1;
+ }
+ Output.printString("done")
}
/** Displays the given error code in the form "ERR<errorCode>",
* and halts the program's execution. */
function void error(int errorCode) {
+ Output.printString("ERR");
+ Output.printInt(errorCode);
}
}