function Square.new 0 push constant 3 call Memory.alloc 1 pop pointer 0 push argument 0 pop this 0 push argument 1 pop this 1 push argument 2 pop this 2 push pointer 0 call Square.draw 1 pop temp 0 push pointer 0 return function Square.dispose 0 push argument 0 pop pointer 0 push pointer 0 call Memory.deAlloc 1 pop temp 0 push constant 0 return function Square.draw 0 push argument 0 pop pointer 0 push constant 1 neg call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 push constant 0 return function Square.erase 0 push argument 0 pop pointer 0 push constant 0 call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 push constant 0 return function Square.incSize 0 push argument 0 pop pointer 0 push this 1 push this 2 add push constant 254 lt push this 0 push this 2 add push constant 510 lt and not if-goto L0 push pointer 0 call Square.erase 1 pop temp 0 push this 2 push constant 2 add pop this 2 push pointer 0 call Square.draw 1 pop temp 0 goto L1 label L0 label L1 push constant 0 return function Square.decSize 0 push argument 0 pop pointer 0 push this 2 push constant 2 gt not if-goto L2 push pointer 0 call Square.erase 1 pop temp 0 push this 2 push constant 2 sub pop this 2 push pointer 0 call Square.draw 1 pop temp 0 goto L3 label L2 label L3 push constant 0 return function Square.moveUp 0 push argument 0 pop pointer 0 push this 1 push constant 1 gt not if-goto L4 push constant 0 call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 2 add push constant 1 sub push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 push this 1 push constant 2 sub pop this 1 push constant 1 neg call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push this 2 add push this 1 push constant 1 add call Screen.drawRectangle 4 pop temp 0 goto L5 label L4 label L5 push constant 0 return function Square.moveDown 0 push argument 0 pop pointer 0 push this 1 push this 2 add push constant 254 lt not if-goto L6 push constant 0 call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push this 2 add push this 1 push constant 1 add call Screen.drawRectangle 4 pop temp 0 push this 1 push constant 2 add pop this 1 push constant 1 neg call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 2 add push constant 1 sub push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 goto L7 label L6 label L7 push constant 0 return function Square.moveLeft 0 push argument 0 pop pointer 0 push this 0 push constant 1 gt not if-goto L8 push constant 0 call Screen.setColor 1 pop temp 0 push this 0 push this 2 add push constant 1 sub push this 1 push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 push this 0 push constant 2 sub pop this 0 push constant 1 neg call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push constant 1 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 goto L9 label L8 label L9 push constant 0 return function Square.moveRight 0 push argument 0 pop pointer 0 push this 0 push this 2 add push constant 510 lt not if-goto L10 push constant 0 call Screen.setColor 1 pop temp 0 push this 0 push this 1 push this 0 push constant 1 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 push this 0 push constant 2 add pop this 0 push constant 1 neg call Screen.setColor 1 pop temp 0 push this 0 push this 2 add push constant 1 sub push this 1 push this 0 push this 2 add push this 1 push this 2 add call Screen.drawRectangle 4 pop temp 0 goto L11 label L10 label L11 push constant 0 return