function Keyboard.init 0 push constant 0 return function Keyboard.keyPressed 0 push constant 24576 call Memory.peek 1 return function Keyboard.readChar 2 push constant 0 pop local 0 label WHILE_EXP0 push local 0 push constant 0 eq not if-goto WHILE_END0 push constant 24576 call Memory.peek 1 pop local 0 goto WHILE_EXP0 label WHILE_END0 push local 0 pop local 1 label WHILE_EXP1 push local 1 push local 0 eq not if-goto WHILE_END1 push constant 24576 call Memory.peek 1 pop local 1 goto WHILE_EXP1 label WHILE_END1 push local 0 push constant 31 gt push local 0 push constant 127 lt and push local 0 push constant 128 eq or push local 0 push constant 129 eq or if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push local 0 call Output.printChar 1 pop temp 0 label IF_FALSE0 push local 0 return function Keyboard.readLine 2 push constant 140 call String.new 1 pop local 1 push argument 0 call Output.printString 1 pop temp 0 call Keyboard.readChar 0 pop local 0 label WHILE_EXP0 push local 0 push constant 128 eq not not if-goto WHILE_END0 push local 0 push constant 129 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push local 1 call String.length 1 push constant 0 gt if-goto IF_TRUE1 goto IF_FALSE1 label IF_TRUE1 push local 1 call String.eraseLastChar 1 pop temp 0 label IF_FALSE1 goto IF_END0 label IF_FALSE0 push local 1 push local 0 call String.appendChar 2 pop temp 0 label IF_END0 call Keyboard.readChar 0 pop local 0 goto WHILE_EXP0 label WHILE_END0 push local 1 return function Keyboard.readInt 6 push argument 0 call Output.printString 1 pop temp 0 push constant 0 pop local 0 push constant 0 pop local 4 push constant 0 call String.new 1 call Keyboard.readLine 1 pop local 3 push constant 0 pop local 1 push local 3 push constant 0 call String.charAt 2 push constant 45 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 1 pop local 1 push constant 0 not pop local 4 label IF_FALSE0 push local 3 push local 1 call String.charAt 2 pop local 2 push local 2 push constant 48 lt push local 2 push constant 57 gt or if-goto IF_TRUE1 goto IF_FALSE1 label IF_TRUE1 push constant 3 call Sys.error 1 pop temp 0 push constant 47 call String.new 1 push constant 75 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 121 call String.appendChar 2 push constant 98 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 73 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 58 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 101 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 112 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 97 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 110 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 109 call String.appendChar 2 push constant 98 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 label IF_FALSE1 push constant 0 pop local 5 label WHILE_EXP0 push local 5 not not if-goto WHILE_END0 push local 3 push local 1 call String.charAt 2 push constant 47 gt push local 3 push local 1 call String.charAt 2 push constant 58 lt and if-goto IF_TRUE2 goto IF_FALSE2 label IF_TRUE2 push local 0 push constant 10 call Math.multiply 2 push local 3 push local 1 call String.charAt 2 push constant 48 sub add pop local 0 goto IF_END2 label IF_FALSE2 push constant 0 not pop local 5 label IF_END2 push local 1 push constant 1 add pop local 1 push local 5 push local 1 push constant 1 add push local 3 call String.length 1 gt or pop local 5 goto WHILE_EXP0 label WHILE_END0 push local 4 if-goto IF_TRUE3 goto IF_FALSE3 label IF_TRUE3 push local 0 neg pop local 0 label IF_FALSE3 push local 0 return