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/OutputTest/Main.jack | 42 - projects/12/OutputTest/Main.vm | 254 ---- projects/12/OutputTest/Output.jack | 281 ----- projects/12/OutputTest/Output.vm | 1757 --------------------------- projects/12/OutputTest/OutputTestOutput.gif | Bin 6184 -> 0 bytes 5 files changed, 2334 deletions(-) delete mode 100644 projects/12/OutputTest/Main.jack delete mode 100644 projects/12/OutputTest/Main.vm delete mode 100644 projects/12/OutputTest/Output.jack delete mode 100644 projects/12/OutputTest/Output.vm delete mode 100644 projects/12/OutputTest/OutputTestOutput.gif (limited to 'projects/12/OutputTest') diff --git a/projects/12/OutputTest/Main.jack b/projects/12/OutputTest/Main.jack deleted file mode 100644 index f243068..0000000 --- a/projects/12/OutputTest/Main.jack +++ /dev/null @@ -1,42 +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/OutputTest/Main.jack - -/** Test program for the OS Output class. */ -class Main { - - /** Outputs the entire character set to the screen using all the - * methods of the Output class. */ - function void main() { - var String s; - - let s = String.new(1); - do s.appendChar(String.doubleQuote()); - - do Output.moveCursor(0, 63); - do Output.printChar(66); - do Output.moveCursor(22, 0); - do Output.printChar(67); - do Output.moveCursor(22, 63); - do Output.printChar(68); - do Output.printChar(65); - - do Output.moveCursor(2, 0); - do Output.printString("0123456789"); - do Output.println(); - - do Output.printString("ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"); - do Output.println(); - - do Output.printString("!#$%&'()*+,-./:;<=>?@[\]^_`{|}~"); - do Output.printString(s); - do Output.println(); - - do Output.printInt(-12345); - do Output.backSpace(); - do Output.printInt(6789); - - return; - } -} diff --git a/projects/12/OutputTest/Main.vm b/projects/12/OutputTest/Main.vm deleted file mode 100644 index 0a4c951..0000000 --- a/projects/12/OutputTest/Main.vm +++ /dev/null @@ -1,254 +0,0 @@ -function Main.main 1 -push constant 1 -call String.new 1 -pop local 0 -push local 0 -call String.doubleQuote 0 -call String.appendChar 2 -pop temp 0 -push constant 0 -push constant 63 -call Output.moveCursor 2 -pop temp 0 -push constant 66 -call Output.printChar 1 -pop temp 0 -push constant 22 -push constant 0 -call Output.moveCursor 2 -pop temp 0 -push constant 67 -call Output.printChar 1 -pop temp 0 -push constant 22 -push constant 63 -call Output.moveCursor 2 -pop temp 0 -push constant 68 -call Output.printChar 1 -pop temp 0 -push constant 65 -call Output.printChar 1 -pop temp 0 -push constant 2 -push constant 0 -call Output.moveCursor 2 -pop temp 0 -push constant 10 -call String.new 1 -push constant 48 -call String.appendChar 2 -push constant 49 -call String.appendChar 2 -push constant 50 -call String.appendChar 2 -push constant 51 -call String.appendChar 2 -push constant 52 -call String.appendChar 2 -push constant 53 -call String.appendChar 2 -push constant 54 -call String.appendChar 2 -push constant 55 -call String.appendChar 2 -push constant 56 -call String.appendChar 2 -push constant 57 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -call Output.println 0 -pop temp 0 -push constant 53 -call String.new 1 -push constant 65 -call String.appendChar 2 -push constant 66 -call String.appendChar 2 -push constant 67 -call String.appendChar 2 -push constant 68 -call String.appendChar 2 -push constant 69 -call String.appendChar 2 -push constant 70 -call String.appendChar 2 -push constant 71 -call String.appendChar 2 -push constant 72 -call String.appendChar 2 -push constant 73 -call String.appendChar 2 -push constant 74 -call String.appendChar 2 -push constant 75 -call String.appendChar 2 -push constant 76 -call String.appendChar 2 -push constant 77 -call String.appendChar 2 -push constant 78 -call String.appendChar 2 -push constant 79 -call String.appendChar 2 -push constant 80 -call String.appendChar 2 -push constant 81 -call String.appendChar 2 -push constant 82 -call String.appendChar 2 -push constant 83 -call String.appendChar 2 -push constant 84 -call String.appendChar 2 -push constant 85 -call String.appendChar 2 -push constant 86 -call String.appendChar 2 -push constant 87 -call String.appendChar 2 -push constant 88 -call String.appendChar 2 -push constant 89 -call String.appendChar 2 -push constant 90 -call String.appendChar 2 -push constant 32 -call String.appendChar 2 -push constant 97 -call String.appendChar 2 -push constant 98 -call String.appendChar 2 -push constant 99 -call String.appendChar 2 -push constant 100 -call String.appendChar 2 -push constant 101 -call String.appendChar 2 -push constant 102 -call String.appendChar 2 -push constant 103 -call String.appendChar 2 -push constant 104 -call String.appendChar 2 -push constant 105 -call String.appendChar 2 -push constant 106 -call String.appendChar 2 -push constant 107 -call String.appendChar 2 -push constant 108 -call String.appendChar 2 -push constant 109 -call String.appendChar 2 -push constant 110 -call String.appendChar 2 -push constant 111 -call String.appendChar 2 -push constant 112 -call String.appendChar 2 -push constant 113 -call String.appendChar 2 -push constant 114 -call String.appendChar 2 -push constant 115 -call String.appendChar 2 -push constant 116 -call String.appendChar 2 -push constant 117 -call String.appendChar 2 -push constant 118 -call String.appendChar 2 -push constant 119 -call String.appendChar 2 -push constant 120 -call String.appendChar 2 -push constant 121 -call String.appendChar 2 -push constant 122 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -call Output.println 0 -pop temp 0 -push constant 30 -call String.new 1 -push constant 33 -call String.appendChar 2 -push constant 35 -call String.appendChar 2 -push constant 36 -call String.appendChar 2 -push constant 37 -call String.appendChar 2 -push constant 38 -call String.appendChar 2 -push constant 39 -call String.appendChar 2 -push constant 40 -call String.appendChar 2 -push constant 41 -call String.appendChar 2 -push constant 42 -call String.appendChar 2 -push constant 43 -call String.appendChar 2 -push constant 44 -call String.appendChar 2 -push constant 45 -call String.appendChar 2 -push constant 46 -call String.appendChar 2 -push constant 47 -call String.appendChar 2 -push constant 58 -call String.appendChar 2 -push constant 59 -call String.appendChar 2 -push constant 60 -call String.appendChar 2 -push constant 61 -call String.appendChar 2 -push constant 62 -call String.appendChar 2 -push constant 63 -call String.appendChar 2 -push constant 64 -call String.appendChar 2 -push constant 91 -call String.appendChar 2 -push constant 93 -call String.appendChar 2 -push constant 94 -call String.appendChar 2 -push constant 95 -call String.appendChar 2 -push constant 96 -call String.appendChar 2 -push constant 123 -call String.appendChar 2 -push constant 124 -call String.appendChar 2 -push constant 125 -call String.appendChar 2 -push constant 126 -call String.appendChar 2 -call Output.printString 1 -pop temp 0 -push local 0 -call Output.printString 1 -pop temp 0 -call Output.println 0 -pop temp 0 -push constant 12345 -neg -call Output.printInt 1 -pop temp 0 -call Output.backSpace 0 -pop temp 0 -push constant 6789 -call Output.printInt 1 -pop temp 0 -push constant 0 -return diff --git a/projects/12/OutputTest/Output.jack b/projects/12/OutputTest/Output.jack deleted file mode 100644 index 61b24de..0000000 --- a/projects/12/OutputTest/Output.jack +++ /dev/null @@ -1,281 +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/Output.jack - -/** - * A library of functions for writing text on the screen. - * The Hack physical screen consists of 512 rows of 256 pixels each. - * The library uses a fixed font, in which each character is displayed - * within a frame which is 11 pixels high (including 1 pixel for inter-line - * spacing) and 8 pixels wide (including 2 pixels for inter-character spacing). - * The resulting grid accommodates 23 rows (indexed 0..22, top to bottom) - * of 64 characters each (indexed 0..63, left to right). The top left - * character position on the screen is indexed (0,0). A cursor, implemented - * as a small filled square, indicates where the next character will be displayed. - */ -class Output { - - // Character map for displaying characters - static Array charMaps; - static int cursorI, cursorJ; - - /** Initializes the screen, and locates the cursor at the screen's top-left. */ - function void init() { - do Output.initMap(); - do Output.moveCursor(0, 0); - return; - } - - // Initializes the character map array - function void initMap() { - var int i; - - let charMaps = Array.new(127); - - // Black square, used for displaying non-printable characters. - do Output.create(0,63,63,63,63,63,63,63,63,63,0,0); - - // Assigns the bitmap for each character in the charachter set. - // The first parameter is the character index, the next 11 numbers - // are the values of each row in the frame that represents this character. - do Output.create(32,0,0,0,0,0,0,0,0,0,0,0); // - do Output.create(33,12,30,30,30,12,12,0,12,12,0,0); // ! - do Output.create(34,54,54,20,0,0,0,0,0,0,0,0); // " - do Output.create(35,0,18,18,63,18,18,63,18,18,0,0); // # - do Output.create(36,12,30,51,3,30,48,51,30,12,12,0); // $ - do Output.create(37,0,0,35,51,24,12,6,51,49,0,0); // % - do Output.create(38,12,30,30,12,54,27,27,27,54,0,0); // & - do Output.create(39,12,12,6,0,0,0,0,0,0,0,0); // ' - do Output.create(40,24,12,6,6,6,6,6,12,24,0,0); // ( - do Output.create(41,6,12,24,24,24,24,24,12,6,0,0); // ) - do Output.create(42,0,0,0,51,30,63,30,51,0,0,0); // * - do Output.create(43,0,0,0,12,12,63,12,12,0,0,0); // + - do Output.create(44,0,0,0,0,0,0,0,12,12,6,0); // , - do Output.create(45,0,0,0,0,0,63,0,0,0,0,0); // - - do Output.create(46,0,0,0,0,0,0,0,12,12,0,0); // . - do Output.create(47,0,0,32,48,24,12,6,3,1,0,0); // / - - do Output.create(48,12,30,51,51,51,51,51,30,12,0,0); // 0 - do Output.create(49,12,14,15,12,12,12,12,12,63,0,0); // 1 - do Output.create(50,30,51,48,24,12,6,3,51,63,0,0); // 2 - do Output.create(51,30,51,48,48,28,48,48,51,30,0,0); // 3 - do Output.create(52,16,24,28,26,25,63,24,24,60,0,0); // 4 - do Output.create(53,63,3,3,31,48,48,48,51,30,0,0); // 5 - do Output.create(54,28,6,3,3,31,51,51,51,30,0,0); // 6 - do Output.create(55,63,49,48,48,24,12,12,12,12,0,0); // 7 - do Output.create(56,30,51,51,51,30,51,51,51,30,0,0); // 8 - do Output.create(57,30,51,51,51,62,48,48,24,14,0,0); // 9 - - do Output.create(58,0,0,12,12,0,0,12,12,0,0,0); // : - do Output.create(59,0,0,12,12,0,0,12,12,6,0,0); // ; - do Output.create(60,0,0,24,12,6,3,6,12,24,0,0); // < - do Output.create(61,0,0,0,63,0,0,63,0,0,0,0); // = - do Output.create(62,0,0,3,6,12,24,12,6,3,0,0); // > - do Output.create(64,30,51,51,59,59,59,27,3,30,0,0); // @ - do Output.create(63,30,51,51,24,12,12,0,12,12,0,0); // ? - - do Output.create(65,12,12,30,30,51,51,63,51,51,0,0); // A - do Output.create(66,31,51,51,51,31,51,51,51,31,0,0); // B - do Output.create(67,28,54,35,3,3,3,35,54,28,0,0); // C - do Output.create(68,15,27,51,51,51,51,51,27,15,0,0); // D - do Output.create(69,63,51,35,11,15,11,35,51,63,0,0); // E - do Output.create(70,63,51,35,11,15,11,3,3,3,0,0); // F - do Output.create(71,28,54,35,3,59,51,51,54,44,0,0); // G - do Output.create(72,51,51,51,51,63,51,51,51,51,0,0); // H - do Output.create(73,30,12,12,12,12,12,12,12,30,0,0); // I - do Output.create(74,60,24,24,24,24,24,27,27,14,0,0); // J - do Output.create(75,51,51,51,27,15,27,51,51,51,0,0); // K - do Output.create(76,3,3,3,3,3,3,35,51,63,0,0); // L - do Output.create(77,33,51,63,63,51,51,51,51,51,0,0); // M - do Output.create(78,51,51,55,55,63,59,59,51,51,0,0); // N - do Output.create(79,30,51,51,51,51,51,51,51,30,0,0); // O - do Output.create(80,31,51,51,51,31,3,3,3,3,0,0); // P - do Output.create(81,30,51,51,51,51,51,63,59,30,48,0);// Q - do Output.create(82,31,51,51,51,31,27,51,51,51,0,0); // R - do Output.create(83,30,51,51,6,28,48,51,51,30,0,0); // S - do Output.create(84,63,63,45,12,12,12,12,12,30,0,0); // T - do Output.create(85,51,51,51,51,51,51,51,51,30,0,0); // U - do Output.create(86,51,51,51,51,51,30,30,12,12,0,0); // V - do Output.create(87,51,51,51,51,51,63,63,63,18,0,0); // W - do Output.create(88,51,51,30,30,12,30,30,51,51,0,0); // X - do Output.create(89,51,51,51,51,30,12,12,12,30,0,0); // Y - do Output.create(90,63,51,49,24,12,6,35,51,63,0,0); // Z - - do Output.create(91,30,6,6,6,6,6,6,6,30,0,0); // [ - do Output.create(92,0,0,1,3,6,12,24,48,32,0,0); // \ - do Output.create(93,30,24,24,24,24,24,24,24,30,0,0); // ] - do Output.create(94,8,28,54,0,0,0,0,0,0,0,0); // ^ - do Output.create(95,0,0,0,0,0,0,0,0,0,63,0); // _ - do Output.create(96,6,12,24,0,0,0,0,0,0,0,0); // ` - - do Output.create(97,0,0,0,14,24,30,27,27,54,0,0); // a - do Output.create(98,3,3,3,15,27,51,51,51,30,0,0); // b - do Output.create(99,0,0,0,30,51,3,3,51,30,0,0); // c - do Output.create(100,48,48,48,60,54,51,51,51,30,0,0); // d - do Output.create(101,0,0,0,30,51,63,3,51,30,0,0); // e - do Output.create(102,28,54,38,6,15,6,6,6,15,0,0); // f - do Output.create(103,0,0,30,51,51,51,62,48,51,30,0); // g - do Output.create(104,3,3,3,27,55,51,51,51,51,0,0); // h - do Output.create(105,12,12,0,14,12,12,12,12,30,0,0); // i - do Output.create(106,48,48,0,56,48,48,48,48,51,30,0); // j - do Output.create(107,3,3,3,51,27,15,15,27,51,0,0); // k - do Output.create(108,14,12,12,12,12,12,12,12,30,0,0); // l - do Output.create(109,0,0,0,29,63,43,43,43,43,0,0); // m - do Output.create(110,0,0,0,29,51,51,51,51,51,0,0); // n - do Output.create(111,0,0,0,30,51,51,51,51,30,0,0); // o - do Output.create(112,0,0,0,30,51,51,51,31,3,3,0); // p - do Output.create(113,0,0,0,30,51,51,51,62,48,48,0); // q - do Output.create(114,0,0,0,29,55,51,3,3,7,0,0); // r - do Output.create(115,0,0,0,30,51,6,24,51,30,0,0); // s - do Output.create(116,4,6,6,15,6,6,6,54,28,0,0); // t - do Output.create(117,0,0,0,27,27,27,27,27,54,0,0); // u - do Output.create(118,0,0,0,51,51,51,51,30,12,0,0); // v - do Output.create(119,0,0,0,51,51,51,63,63,18,0,0); // w - do Output.create(120,0,0,0,51,30,12,12,30,51,0,0); // x - do Output.create(121,0,0,0,51,51,51,62,48,24,15,0); // y - do Output.create(122,0,0,0,63,27,12,6,51,63,0,0); // z - - do Output.create(123,56,12,12,12,7,12,12,12,56,0,0); // { - do Output.create(124,12,12,12,12,12,12,12,12,12,0,0); // | - do Output.create(125,7,12,12,12,56,12,12,12,7,0,0); // } - do Output.create(126,38,45,25,0,0,0,0,0,0,0,0); // ~ - - return; - } - - // Creates the character map array of the given character index, using the given values. - function void create(int index, int a, int b, int c, int d, int e, - int f, int g, int h, int i, int j, int k) { - var Array map; - - let map = Array.new(11); - let charMaps[index] = map; - - let map[0] = a; - let map[1] = b; - let map[2] = c; - let map[3] = d; - let map[4] = e; - let map[5] = f; - let map[6] = g; - let map[7] = h; - let map[8] = i; - let map[9] = j; - let map[10] = k; - - return; - } - - // Returns the character map (array of size 11) of the given character. - // If the given character is invalid or non-printable, returns the - // character map of a black square. - function Array getMap(char c) { - if ((c < 32) | (c > 126)) { - let c = 0; - } - return charMaps[c]; - } - - /** Moves the cursor to the j-th column of the i-th row, - * and erases the character displayed there. */ - function void moveCursor(int i, int j) { - var int x, y; - let x = cursorJ * 8; - let y = cursorI * 11; - do Screen.setColor(false); - do Screen.drawRectangle(x, y, x + 7, y + 10); - let x = j * 8; - let y = i * 11; - do Screen.setColor(true); - do Screen.drawRectangle(x, y, x + 7, y + 10); - let cursorI = i; - let cursorJ = j; - return; - } - - /** Displays the given character at the cursor location, - * and advances the cursor one column forward. */ - function void printChar(char c) { - var int k, x, y, addr; - var Array cm; - if (c = 129) { - do Output.backSpace(); - return; - } - if (cursorI = 22) { - if (c = 128) { - return; - } - if (cursorJ = 63) { - return; - } - } - if (c = 128) { - do Output.println(); - return; - } - let k = 0; - let x = cursorJ / 2; - let y = cursorJ - (x * 2); // y = 0: lsb, y = 1: msb - let addr = cursorI * 352 + x + 16384; - let cm = Output.getMap(c); - if (cursorJ = 63) { - do Output.moveCursor(cursorI + 1, 0); - } else { - do Output.moveCursor(cursorI, cursorJ + 1); - } - while (k < 11) { - if (y = 0){ - do Memory.poke(addr, Memory.peek(addr) & (-128) + cm[k]); - } else { - do Memory.poke(addr, Memory.peek(addr) & 255 + (cm[k] * 256)); - } - let k = k + 1; - let addr = addr + 32; - } - return; - } - - /** displays the given string starting at the cursor location, - * and advances the cursor appropriately. */ - function void printString(String s) { - var int i; - var int n; - let i = 0; - let n = s.length(); - while (i < n) { - do Output.printChar(s.charAt(i)); - let i = i + 1; - } - return; - } - - /** Displays the given integer starting at the cursor location, - * and advances the cursor appropriately. */ - function void printInt(int i) { - var String s; - let s = String.new(6); - do s.setInt(i); - do Output.printString(s); - return; - } - - /** Advances the cursor to the beginning of the next line. */ - function void println() { - if (cursorI < 22) { - do Output.moveCursor(cursorI + 1, 0); - } - return; - } - - /** Moves the cursor one column back. */ - function void backSpace() { - if (cursorJ > 0) { - do Output.moveCursor(cursorI, cursorJ - 1); - } else { - do Output.moveCursor(cursorI - 1, 63); - } - return; - } -} diff --git a/projects/12/OutputTest/Output.vm b/projects/12/OutputTest/Output.vm deleted file mode 100644 index dd83b63..0000000 --- a/projects/12/OutputTest/Output.vm +++ /dev/null @@ -1,1757 +0,0 @@ -function Output.init 0 -call Output.initMap 0 -pop temp 0 -push constant 0 -push constant 0 -call Output.moveCursor 2 -pop temp 0 -push constant 0 -return -function Output.initMap 1 -push constant 127 -call Array.new 1 -pop static 0 -push constant 0 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 32 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 33 -push constant 12 -push constant 30 -push constant 30 -push constant 30 -push constant 12 -push constant 12 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 34 -push constant 54 -push constant 54 -push constant 20 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 35 -push constant 0 -push constant 18 -push constant 18 -push constant 63 -push constant 18 -push constant 18 -push constant 63 -push constant 18 -push constant 18 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 36 -push constant 12 -push constant 30 -push constant 51 -push constant 3 -push constant 30 -push constant 48 -push constant 51 -push constant 30 -push constant 12 -push constant 12 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 37 -push constant 0 -push constant 0 -push constant 35 -push constant 51 -push constant 24 -push constant 12 -push constant 6 -push constant 51 -push constant 49 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 38 -push constant 12 -push constant 30 -push constant 30 -push constant 12 -push constant 54 -push constant 27 -push constant 27 -push constant 27 -push constant 54 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 39 -push constant 12 -push constant 12 -push constant 6 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 40 -push constant 24 -push constant 12 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 12 -push constant 24 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 41 -push constant 6 -push constant 12 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 12 -push constant 6 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 42 -push constant 0 -push constant 0 -push constant 0 -push constant 51 -push constant 30 -push constant 63 -push constant 30 -push constant 51 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 43 -push constant 0 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 63 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 44 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 6 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 45 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 63 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 46 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 47 -push constant 0 -push constant 0 -push constant 32 -push constant 48 -push constant 24 -push constant 12 -push constant 6 -push constant 3 -push constant 1 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 48 -push constant 12 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 49 -push constant 12 -push constant 14 -push constant 15 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 50 -push constant 30 -push constant 51 -push constant 48 -push constant 24 -push constant 12 -push constant 6 -push constant 3 -push constant 51 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 51 -push constant 30 -push constant 51 -push constant 48 -push constant 48 -push constant 28 -push constant 48 -push constant 48 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 52 -push constant 16 -push constant 24 -push constant 28 -push constant 26 -push constant 25 -push constant 63 -push constant 24 -push constant 24 -push constant 60 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 53 -push constant 63 -push constant 3 -push constant 3 -push constant 31 -push constant 48 -push constant 48 -push constant 48 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 54 -push constant 28 -push constant 6 -push constant 3 -push constant 3 -push constant 31 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 55 -push constant 63 -push constant 49 -push constant 48 -push constant 48 -push constant 24 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 56 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 57 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 62 -push constant 48 -push constant 48 -push constant 24 -push constant 14 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 58 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 59 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -push constant 12 -push constant 12 -push constant 6 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 60 -push constant 0 -push constant 0 -push constant 24 -push constant 12 -push constant 6 -push constant 3 -push constant 6 -push constant 12 -push constant 24 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 61 -push constant 0 -push constant 0 -push constant 0 -push constant 63 -push constant 0 -push constant 0 -push constant 63 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 62 -push constant 0 -push constant 0 -push constant 3 -push constant 6 -push constant 12 -push constant 24 -push constant 12 -push constant 6 -push constant 3 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 64 -push constant 30 -push constant 51 -push constant 51 -push constant 59 -push constant 59 -push constant 59 -push constant 27 -push constant 3 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 63 -push constant 30 -push constant 51 -push constant 51 -push constant 24 -push constant 12 -push constant 12 -push constant 0 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 65 -push constant 12 -push constant 12 -push constant 30 -push constant 30 -push constant 51 -push constant 51 -push constant 63 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 66 -push constant 31 -push constant 51 -push constant 51 -push constant 51 -push constant 31 -push constant 51 -push constant 51 -push constant 51 -push constant 31 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 67 -push constant 28 -push constant 54 -push constant 35 -push constant 3 -push constant 3 -push constant 3 -push constant 35 -push constant 54 -push constant 28 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 68 -push constant 15 -push constant 27 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 27 -push constant 15 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 69 -push constant 63 -push constant 51 -push constant 35 -push constant 11 -push constant 15 -push constant 11 -push constant 35 -push constant 51 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 70 -push constant 63 -push constant 51 -push constant 35 -push constant 11 -push constant 15 -push constant 11 -push constant 3 -push constant 3 -push constant 3 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 71 -push constant 28 -push constant 54 -push constant 35 -push constant 3 -push constant 59 -push constant 51 -push constant 51 -push constant 54 -push constant 44 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 72 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 63 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 73 -push constant 30 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 74 -push constant 60 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 27 -push constant 27 -push constant 14 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 75 -push constant 51 -push constant 51 -push constant 51 -push constant 27 -push constant 15 -push constant 27 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 76 -push constant 3 -push constant 3 -push constant 3 -push constant 3 -push constant 3 -push constant 3 -push constant 35 -push constant 51 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 77 -push constant 33 -push constant 51 -push constant 63 -push constant 63 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 78 -push constant 51 -push constant 51 -push constant 55 -push constant 55 -push constant 63 -push constant 59 -push constant 59 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 79 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 80 -push constant 31 -push constant 51 -push constant 51 -push constant 51 -push constant 31 -push constant 3 -push constant 3 -push constant 3 -push constant 3 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 81 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 63 -push constant 59 -push constant 30 -push constant 48 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 82 -push constant 31 -push constant 51 -push constant 51 -push constant 51 -push constant 31 -push constant 27 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 83 -push constant 30 -push constant 51 -push constant 51 -push constant 6 -push constant 28 -push constant 48 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 84 -push constant 63 -push constant 63 -push constant 45 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 85 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 86 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 30 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 87 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 63 -push constant 63 -push constant 63 -push constant 18 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 88 -push constant 51 -push constant 51 -push constant 30 -push constant 30 -push constant 12 -push constant 30 -push constant 30 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 89 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 12 -push constant 12 -push constant 12 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 90 -push constant 63 -push constant 51 -push constant 49 -push constant 24 -push constant 12 -push constant 6 -push constant 35 -push constant 51 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 91 -push constant 30 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 6 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 92 -push constant 0 -push constant 0 -push constant 1 -push constant 3 -push constant 6 -push constant 12 -push constant 24 -push constant 48 -push constant 32 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 93 -push constant 30 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 24 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 94 -push constant 8 -push constant 28 -push constant 54 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 95 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 63 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 96 -push constant 6 -push constant 12 -push constant 24 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 97 -push constant 0 -push constant 0 -push constant 0 -push constant 14 -push constant 24 -push constant 30 -push constant 27 -push constant 27 -push constant 54 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 98 -push constant 3 -push constant 3 -push constant 3 -push constant 15 -push constant 27 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 99 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 3 -push constant 3 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 100 -push constant 48 -push constant 48 -push constant 48 -push constant 60 -push constant 54 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 101 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 63 -push constant 3 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 102 -push constant 28 -push constant 54 -push constant 38 -push constant 6 -push constant 15 -push constant 6 -push constant 6 -push constant 6 -push constant 15 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 103 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 62 -push constant 48 -push constant 51 -push constant 30 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 104 -push constant 3 -push constant 3 -push constant 3 -push constant 27 -push constant 55 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 105 -push constant 12 -push constant 12 -push constant 0 -push constant 14 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 106 -push constant 48 -push constant 48 -push constant 0 -push constant 56 -push constant 48 -push constant 48 -push constant 48 -push constant 48 -push constant 51 -push constant 30 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 107 -push constant 3 -push constant 3 -push constant 3 -push constant 51 -push constant 27 -push constant 15 -push constant 15 -push constant 27 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 108 -push constant 14 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 109 -push constant 0 -push constant 0 -push constant 0 -push constant 29 -push constant 63 -push constant 43 -push constant 43 -push constant 43 -push constant 43 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 110 -push constant 0 -push constant 0 -push constant 0 -push constant 29 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 111 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 112 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 31 -push constant 3 -push constant 3 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 113 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 51 -push constant 51 -push constant 62 -push constant 48 -push constant 48 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 114 -push constant 0 -push constant 0 -push constant 0 -push constant 29 -push constant 55 -push constant 51 -push constant 3 -push constant 3 -push constant 7 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 115 -push constant 0 -push constant 0 -push constant 0 -push constant 30 -push constant 51 -push constant 6 -push constant 24 -push constant 51 -push constant 30 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 116 -push constant 4 -push constant 6 -push constant 6 -push constant 15 -push constant 6 -push constant 6 -push constant 6 -push constant 54 -push constant 28 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 117 -push constant 0 -push constant 0 -push constant 0 -push constant 27 -push constant 27 -push constant 27 -push constant 27 -push constant 27 -push constant 54 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 118 -push constant 0 -push constant 0 -push constant 0 -push constant 51 -push constant 51 -push constant 51 -push constant 51 -push constant 30 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 119 -push constant 0 -push constant 0 -push constant 0 -push constant 51 -push constant 51 -push constant 51 -push constant 63 -push constant 63 -push constant 18 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 120 -push constant 0 -push constant 0 -push constant 0 -push constant 51 -push constant 30 -push constant 12 -push constant 12 -push constant 30 -push constant 51 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 121 -push constant 0 -push constant 0 -push constant 0 -push constant 51 -push constant 51 -push constant 51 -push constant 62 -push constant 48 -push constant 24 -push constant 15 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 122 -push constant 0 -push constant 0 -push constant 0 -push constant 63 -push constant 27 -push constant 12 -push constant 6 -push constant 51 -push constant 63 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 123 -push constant 56 -push constant 12 -push constant 12 -push constant 12 -push constant 7 -push constant 12 -push constant 12 -push constant 12 -push constant 56 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 124 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 12 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 125 -push constant 7 -push constant 12 -push constant 12 -push constant 12 -push constant 56 -push constant 12 -push constant 12 -push constant 12 -push constant 7 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 126 -push constant 38 -push constant 45 -push constant 25 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -push constant 0 -call Output.create 12 -pop temp 0 -push constant 0 -return -function Output.create 1 -push constant 11 -call Array.new 1 -pop local 0 -push argument 0 -push static 0 -add -push local 0 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 0 -push local 0 -add -push argument 1 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 1 -push local 0 -add -push argument 2 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 2 -push local 0 -add -push argument 3 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 3 -push local 0 -add -push argument 4 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 4 -push local 0 -add -push argument 5 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 5 -push local 0 -add -push argument 6 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 6 -push local 0 -add -push argument 7 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 7 -push local 0 -add -push argument 8 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 8 -push local 0 -add -push argument 9 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 9 -push local 0 -add -push argument 10 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 10 -push local 0 -add -push argument 11 -pop temp 0 -pop pointer 1 -push temp 0 -pop that 0 -push constant 0 -return -function Output.getMap 0 -push argument 0 -push constant 32 -lt -push argument 0 -push constant 126 -gt -or -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push constant 0 -pop argument 0 -label IF_FALSE0 -push argument 0 -push static 0 -add -pop pointer 1 -push that 0 -return -function Output.moveCursor 2 -push static 2 -push constant 8 -call Math.multiply 2 -pop local 0 -push static 1 -push constant 11 -call Math.multiply 2 -pop local 1 -push constant 0 -call Screen.setColor 1 -pop temp 0 -push local 0 -push local 1 -push local 0 -push constant 7 -add -push local 1 -push constant 10 -add -call Screen.drawRectangle 4 -pop temp 0 -push argument 1 -push constant 8 -call Math.multiply 2 -pop local 0 -push argument 0 -push constant 11 -call Math.multiply 2 -pop local 1 -push constant 0 -not -call Screen.setColor 1 -pop temp 0 -push local 0 -push local 1 -push local 0 -push constant 7 -add -push local 1 -push constant 10 -add -call Screen.drawRectangle 4 -pop temp 0 -push argument 0 -pop static 1 -push argument 1 -pop static 2 -push constant 0 -return -function Output.printChar 5 -push argument 0 -push constant 129 -eq -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -call Output.backSpace 0 -pop temp 0 -push constant 0 -return -label IF_FALSE0 -push static 1 -push constant 22 -eq -if-goto IF_TRUE1 -goto IF_FALSE1 -label IF_TRUE1 -push argument 0 -push constant 128 -eq -if-goto IF_TRUE2 -goto IF_FALSE2 -label IF_TRUE2 -push constant 0 -return -label IF_FALSE2 -push static 2 -push constant 63 -eq -if-goto IF_TRUE3 -goto IF_FALSE3 -label IF_TRUE3 -push constant 0 -return -label IF_FALSE3 -label IF_FALSE1 -push argument 0 -push constant 128 -eq -if-goto IF_TRUE4 -goto IF_FALSE4 -label IF_TRUE4 -call Output.println 0 -pop temp 0 -push constant 0 -return -label IF_FALSE4 -push constant 0 -pop local 0 -push static 2 -push constant 2 -call Math.divide 2 -pop local 1 -push static 2 -push local 1 -push constant 2 -call Math.multiply 2 -sub -pop local 2 -push static 1 -push constant 352 -call Math.multiply 2 -push local 1 -add -push constant 16384 -add -pop local 3 -push argument 0 -call Output.getMap 1 -pop local 4 -push static 2 -push constant 63 -eq -if-goto IF_TRUE5 -goto IF_FALSE5 -label IF_TRUE5 -push static 1 -push constant 1 -add -push constant 0 -call Output.moveCursor 2 -pop temp 0 -goto IF_END5 -label IF_FALSE5 -push static 1 -push static 2 -push constant 1 -add -call Output.moveCursor 2 -pop temp 0 -label IF_END5 -label WHILE_EXP0 -push local 0 -push constant 11 -lt -not -if-goto WHILE_END0 -push local 2 -push constant 0 -eq -if-goto IF_TRUE6 -goto IF_FALSE6 -label IF_TRUE6 -push local 3 -push local 3 -call Memory.peek 1 -push constant 128 -neg -and -push local 0 -push local 4 -add -pop pointer 1 -push that 0 -add -call Memory.poke 2 -pop temp 0 -goto IF_END6 -label IF_FALSE6 -push local 3 -push local 3 -call Memory.peek 1 -push constant 255 -and -push local 0 -push local 4 -add -pop pointer 1 -push that 0 -push constant 256 -call Math.multiply 2 -add -call Memory.poke 2 -pop temp 0 -label IF_END6 -push local 0 -push constant 1 -add -pop local 0 -push local 3 -push constant 32 -add -pop local 3 -goto WHILE_EXP0 -label WHILE_END0 -push constant 0 -return -function Output.printString 2 -push constant 0 -pop local 0 -push argument 0 -call String.length 1 -pop local 1 -label WHILE_EXP0 -push local 0 -push local 1 -lt -not -if-goto WHILE_END0 -push argument 0 -push local 0 -call String.charAt 2 -call Output.printChar 1 -pop temp 0 -push local 0 -push constant 1 -add -pop local 0 -goto WHILE_EXP0 -label WHILE_END0 -push constant 0 -return -function Output.printInt 1 -push constant 6 -call String.new 1 -pop local 0 -push local 0 -push argument 0 -call String.setInt 2 -pop temp 0 -push local 0 -call Output.printString 1 -pop temp 0 -push constant 0 -return -function Output.println 0 -push static 1 -push constant 22 -lt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push static 1 -push constant 1 -add -push constant 0 -call Output.moveCursor 2 -pop temp 0 -label IF_FALSE0 -push constant 0 -return -function Output.backSpace 0 -push static 2 -push constant 0 -gt -if-goto IF_TRUE0 -goto IF_FALSE0 -label IF_TRUE0 -push static 1 -push static 2 -push constant 1 -sub -call Output.moveCursor 2 -pop temp 0 -goto IF_END0 -label IF_FALSE0 -push static 1 -push constant 1 -sub -push constant 63 -call Output.moveCursor 2 -pop temp 0 -label IF_END0 -push constant 0 -return diff --git a/projects/12/OutputTest/OutputTestOutput.gif b/projects/12/OutputTest/OutputTestOutput.gif deleted file mode 100644 index b8ec2c0..0000000 Binary files a/projects/12/OutputTest/OutputTestOutput.gif and /dev/null differ -- cgit v1.2.3