summaryrefslogtreecommitdiff
path: root/projects/12/Sys.jack
diff options
context:
space:
mode:
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);
}
}