aboutsummaryrefslogtreecommitdiff
path: root/projects/09/Square/Square.asm
diff options
context:
space:
mode:
Diffstat (limited to 'projects/09/Square/Square.asm')
-rw-r--r--projects/09/Square/Square.asm6346
1 files changed, 0 insertions, 6346 deletions
diff --git a/projects/09/Square/Square.asm b/projects/09/Square/Square.asm
deleted file mode 100644
index 8ad70dd..0000000
--- a/projects/09/Square/Square.asm
+++ /dev/null
@@ -1,6346 +0,0 @@
-@256
-D=A
-@SP
-M=D
-@RET0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@0
-D=D-A
-@ARG
-M=D
-@Sys.init
-0;JMP
-(RET0)
-(Main.main)
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@RET1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@0
-D=D-A
-@ARG
-M=D
-@SquareGame.new
-0;JMP
-(RET1)
-@LCL
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET4
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@SquareGame.run
-0;JMP
-(RET4)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET7
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@SquareGame.dispose
-0;JMP
-(RET7)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(SquareGame.new)
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Memory.alloc
-0;JMP
-(RET2)
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@30
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET7
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@3
-D=D-A
-@ARG
-M=D
-@Square.new
-0;JMP
-(RET7)
-@THIS
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(SquareGame.dispose)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET17
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.dispose
-0;JMP
-(RET17)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET20
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Memory.deAlloc
-0;JMP
-(RET20)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(SquareGame.moveSquare)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame29
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame29
-0;JMP
-(IFSquareGame29)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame29)
-@SP
-AM=M-1
-D=M
-@SquareGame.moveSquare$IF_TRUE0
-D;JNE
-@SquareGame.moveSquare$IF_FALSE0
-0;JMP
-(SquareGame.moveSquare$IF_TRUE0)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET34
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.moveUp
-0;JMP
-(RET34)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.moveSquare$IF_FALSE0)
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame39
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame39
-0;JMP
-(IFSquareGame39)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame39)
-@SP
-AM=M-1
-D=M
-@SquareGame.moveSquare$IF_TRUE1
-D;JNE
-@SquareGame.moveSquare$IF_FALSE1
-0;JMP
-(SquareGame.moveSquare$IF_TRUE1)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET44
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.moveDown
-0;JMP
-(RET44)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.moveSquare$IF_FALSE1)
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@3
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame49
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame49
-0;JMP
-(IFSquareGame49)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame49)
-@SP
-AM=M-1
-D=M
-@SquareGame.moveSquare$IF_TRUE2
-D;JNE
-@SquareGame.moveSquare$IF_FALSE2
-0;JMP
-(SquareGame.moveSquare$IF_TRUE2)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET54
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.moveLeft
-0;JMP
-(RET54)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.moveSquare$IF_FALSE2)
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@4
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame59
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame59
-0;JMP
-(IFSquareGame59)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame59)
-@SP
-AM=M-1
-D=M
-@SquareGame.moveSquare$IF_TRUE3
-D;JNE
-@SquareGame.moveSquare$IF_FALSE3
-0;JMP
-(SquareGame.moveSquare$IF_TRUE3)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET64
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.moveRight
-0;JMP
-(RET64)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.moveSquare$IF_FALSE3)
-@5
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET68
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Sys.wait
-0;JMP
-(RET68)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(SquareGame.run)
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$WHILE_EXP0)
-@LCL
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SquareGame.run$WHILE_END0
-D;JNE
-(SquareGame.run$WHILE_EXP1)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame85
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame85
-0;JMP
-(IFSquareGame85)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame85)
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SquareGame.run$WHILE_END1
-D;JNE
-@RET88
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@0
-D=D-A
-@ARG
-M=D
-@Keyboard.keyPressed
-0;JMP
-(RET88)
-@LCL
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET91
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@SquareGame.moveSquare
-0;JMP
-(RET91)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@SquareGame.run$WHILE_EXP1
-0;JMP
-(SquareGame.run$WHILE_END1)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@81
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame97
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame97
-0;JMP
-(IFSquareGame97)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame97)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE0
-D;JNE
-@SquareGame.run$IF_FALSE0
-0;JMP
-(SquareGame.run$IF_TRUE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@LCL
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$IF_FALSE0)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@90
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame107
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame107
-0;JMP
-(IFSquareGame107)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame107)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE1
-D;JNE
-@SquareGame.run$IF_FALSE1
-0;JMP
-(SquareGame.run$IF_TRUE1)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET112
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.decSize
-0;JMP
-(RET112)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.run$IF_FALSE1)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@88
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame117
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame117
-0;JMP
-(IFSquareGame117)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame117)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE2
-D;JNE
-@SquareGame.run$IF_FALSE2
-0;JMP
-(SquareGame.run$IF_TRUE2)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET122
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.incSize
-0;JMP
-(RET122)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(SquareGame.run$IF_FALSE2)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@131
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame127
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame127
-0;JMP
-(IFSquareGame127)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame127)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE3
-D;JNE
-@SquareGame.run$IF_FALSE3
-0;JMP
-(SquareGame.run$IF_TRUE3)
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$IF_FALSE3)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@133
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame136
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame136
-0;JMP
-(IFSquareGame136)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame136)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE4
-D;JNE
-@SquareGame.run$IF_FALSE4
-0;JMP
-(SquareGame.run$IF_TRUE4)
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$IF_FALSE4)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@130
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame145
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame145
-0;JMP
-(IFSquareGame145)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame145)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE5
-D;JNE
-@SquareGame.run$IF_FALSE5
-0;JMP
-(SquareGame.run$IF_TRUE5)
-@3
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$IF_FALSE5)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@132
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame154
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame154
-0;JMP
-(IFSquareGame154)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame154)
-@SP
-AM=M-1
-D=M
-@SquareGame.run$IF_TRUE6
-D;JNE
-@SquareGame.run$IF_FALSE6
-0;JMP
-(SquareGame.run$IF_TRUE6)
-@4
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(SquareGame.run$IF_FALSE6)
-(SquareGame.run$WHILE_EXP2)
-@LCL
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquareGame164
-D;JEQ
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquareGame164
-0;JMP
-(IFSquareGame164)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquareGame164)
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SquareGame.run$WHILE_END2
-D;JNE
-@RET168
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@0
-D=D-A
-@ARG
-M=D
-@Keyboard.keyPressed
-0;JMP
-(RET168)
-@LCL
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET171
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@SquareGame.moveSquare
-0;JMP
-(RET171)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@SquareGame.run$WHILE_EXP2
-0;JMP
-(SquareGame.run$WHILE_END2)
-@SquareGame.run$WHILE_EXP0
-0;JMP
-(SquareGame.run$WHILE_END0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.new)
-@3
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Memory.alloc
-0;JMP
-(RET2)
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET11
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.draw
-0;JMP
-(RET11)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.dispose)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET19
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Memory.deAlloc
-0;JMP
-(RET19)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.draw)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@RET28
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET28)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET38
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET38)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.erase)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET46
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET46)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET56
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET56)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.incSize)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@254
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare67
-D;JLT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare67
-0;JMP
-(IFSquare67)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare67)
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@510
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare72
-D;JLT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare72
-0;JMP
-(IFSquare72)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare72)
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M&D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@Square.incSize$IF_TRUE0
-D;JNE
-@Square.incSize$IF_FALSE0
-0;JMP
-(Square.incSize$IF_TRUE0)
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET78
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.erase
-0;JMP
-(RET78)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET85
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.draw
-0;JMP
-(RET85)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.incSize$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.decSize)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare95
-D;JGT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare95
-0;JMP
-(IFSquare95)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare95)
-@SP
-AM=M-1
-D=M
-@Square.decSize$IF_TRUE0
-D;JNE
-@Square.decSize$IF_FALSE0
-0;JMP
-(Square.decSize$IF_TRUE0)
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET100
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.erase
-0;JMP
-(RET100)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@3
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET107
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Square.draw
-0;JMP
-(RET107)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.decSize$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.moveUp)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare117
-D;JGT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare117
-0;JMP
-(IFSquare117)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare117)
-@SP
-AM=M-1
-D=M
-@Square.moveUp$IF_TRUE0
-D;JNE
-@Square.moveUp$IF_FALSE0
-0;JMP
-(Square.moveUp$IF_TRUE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET122
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET122)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET136
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET136)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@RET144
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET144)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET154
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET154)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.moveUp$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.moveDown)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@254
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare166
-D;JLT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare166
-0;JMP
-(IFSquare166)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare166)
-@SP
-AM=M-1
-D=M
-@Square.moveDown$IF_TRUE0
-D;JNE
-@Square.moveDown$IF_FALSE0
-0;JMP
-(Square.moveDown$IF_TRUE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET171
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET171)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET181
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET181)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@RET189
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET189)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET203
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET203)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.moveDown$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.moveLeft)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare213
-D;JGT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare213
-0;JMP
-(IFSquare213)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare213)
-@SP
-AM=M-1
-D=M
-@Square.moveLeft$IF_TRUE0
-D;JNE
-@Square.moveLeft$IF_FALSE0
-0;JMP
-(Square.moveLeft$IF_TRUE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET218
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET218)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET232
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET232)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@RET240
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET240)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET250
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET250)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.moveLeft$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-(Square.moveRight)
-@ARG
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@3
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@510
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@IFSquare262
-D;JLT
-@SP
-A=M
-M=0
-@SP
-M=M+1
-@ENDIFSquare262
-0;JMP
-(IFSquare262)
-@SP
-A=M
-M=-1
-@SP
-M=M+1
-(ENDIFSquare262)
-@SP
-AM=M-1
-D=M
-@Square.moveRight$IF_TRUE0
-D;JNE
-@Square.moveRight$IF_FALSE0
-0;JMP
-(Square.moveRight$IF_TRUE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET267
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET267)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET277
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET277)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@2
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-A=M
-M=!D
-@SP
-M=M+1
-@RET285
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@1
-D=D-A
-@ARG
-M=D
-@Screen.setColor
-0;JMP
-(RET285)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@1
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M-D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@0
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@1
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@2
-D=A+D
-A=D
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-AM=M-1
-D=M
-@SP
-AM=M-1
-D=M+D
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@RET299
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@ARG
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THIS
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@THAT
-D=M
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@SP
-D=M
-@LCL
-M=D
-@5
-D=D-A
-@4
-D=D-A
-@ARG
-M=D
-@Screen.drawRectangle
-0;JMP
-(RET299)
-@SP
-AM=M-1
-D=M
-@5
-M=D
-(Square.moveRight$IF_FALSE0)
-@0
-D=A
-@SP
-A=M
-M=D
-@SP
-M=M+1
-@LCL
-D=M
-@R13
-M=D
-@5
-A=D-A
-D=M
-@R14
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-D=M+1
-@SP
-M=D
-@R13
-AM=M-1
-D=M
-@THAT
-M=D
-@R13
-AM=M-1
-D=M
-@THIS
-M=D
-@R13
-AM=M-1
-D=M
-@ARG
-M=D
-@R13
-AM=M-1
-D=M
-@LCL
-M=D
-@R14
-A=M
-0;JMP