aboutsummaryrefslogtreecommitdiff
path: root/projects/06/pong/Pong.asm
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
committerYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
commitd3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 (patch)
treed58df9ec2480e2a9ec6240f9c797f83d1a0b1056 /projects/06/pong/Pong.asm
parent3571f998b28fbc8d9250ba04c983935f10a16c15 (diff)
rearranged the dir for github
- removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes
Diffstat (limited to 'projects/06/pong/Pong.asm')
-rw-r--r--projects/06/pong/Pong.asm28375
1 files changed, 0 insertions, 28375 deletions
diff --git a/projects/06/pong/Pong.asm b/projects/06/pong/Pong.asm
deleted file mode 100644
index 79691f0..0000000
--- a/projects/06/pong/Pong.asm
+++ /dev/null
@@ -1,28375 +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/06/pong/Pong.asm
-
-// The Pong game program was originally written in the high-level Jack language.
-// The Jack code was then translated by the Jack compiler into VM code.
-// The VM code was then translated by the VM translator into the Hack
-// assembly code shown here.
-
-@256
-D=A
-@SP
-M=D
-@133
-0;JMP
-@R15
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-D=M-D
-M=0
-@END_EQ
-D;JNE
-@SP
-A=M-1
-M=-1
-(END_EQ)
-@R15
-A=M
-0;JMP
-@R15
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-D=M-D
-M=0
-@END_GT
-D;JLE
-@SP
-A=M-1
-M=-1
-(END_GT)
-@R15
-A=M
-0;JMP
-@R15
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-D=M-D
-M=0
-@END_LT
-D;JGE
-@SP
-A=M-1
-M=-1
-(END_LT)
-@R15
-A=M
-0;JMP
-@5
-D=A
-@LCL
-A=M-D
-D=M
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-D=A
-@SP
-M=D+1
-@LCL
-D=M
-@R14
-AM=D-1
-D=M
-@THAT
-M=D
-@R14
-AM=M-1
-D=M
-@THIS
-M=D
-@R14
-AM=M-1
-D=M
-@ARG
-M=D
-@R14
-AM=M-1
-D=M
-@LCL
-M=D
-@R13
-A=M
-0;JMP
-@SP
-A=M
-M=D
-@LCL
-D=M
-@SP
-AM=M+1
-M=D
-@ARG
-D=M
-@SP
-AM=M+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-M=D
-@THAT
-D=M
-@SP
-AM=M+1
-M=D
-@4
-D=A
-@R13
-D=D+M
-@SP
-D=M-D
-@ARG
-M=D
-@SP
-MD=M+1
-@LCL
-M=D
-@R14
-A=M
-0;JMP
-@0
-D=A
-@R13
-M=D
-@sys.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL0
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL0)
-(ball.new)
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.alloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL1
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL1)
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@10
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@THIS
-D=M
-@11
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@12
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@THIS
-D=M
-@13
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@THIS
-D=M
-@14
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.show
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL2
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL2)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(ball.dispose)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.dealloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL3
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL3)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ball.show)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL4
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL4)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.draw
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL5
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL5)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ball.hide)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL6
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL6)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.draw
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL7
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL7)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ball.draw)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL8
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL8)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ball.getleft)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(ball.getright)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@54
-0;JMP
-(ball.setdestination)
-@3
-D=A
-(LOOP_ball.setdestination)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_ball.setdestination
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL9
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL9)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL10
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL10)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT0
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT0)
-@THIS
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.setdestination$if_true0
-D;JNE
-@ball.setdestination$if_false0
-0;JMP
-(ball.setdestination$if_true0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT1
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT1)
-@THIS
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT2
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT2)
-@THIS
-D=M
-@9
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ball.setdestination$if_end0
-0;JMP
-(ball.setdestination$if_false0)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT3
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT3)
-@THIS
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT4
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT4)
-@THIS
-D=M
-@9
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(ball.setdestination$if_end0)
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL11
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL11)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL12
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL12)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL13
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL13)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ball.move)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.hide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL14
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL14)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT5
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT5)
-@SP
-AM=M-1
-D=M
-@ball.move$if_true0
-D;JNE
-@ball.move$if_false0
-0;JMP
-(ball.move$if_true0)
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ball.move$if_end0
-0;JMP
-(ball.move$if_false0)
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@THIS
-D=M
-@9
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true1
-D;JNE
-@ball.move$if_false1
-0;JMP
-(ball.move$if_true1)
-@THIS
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true2
-D;JNE
-@ball.move$if_false2
-0;JMP
-(ball.move$if_true2)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@ball.move$if_end2
-0;JMP
-(ball.move$if_false2)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-(ball.move$if_end2)
-@ball.move$if_end1
-0;JMP
-(ball.move$if_false1)
-@THIS
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true3
-D;JNE
-@ball.move$if_false3
-0;JMP
-(ball.move$if_true3)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@ball.move$if_end3
-0;JMP
-(ball.move$if_false3)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-(ball.move$if_end3)
-(ball.move$if_end1)
-(ball.move$if_end0)
-@THIS
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true4
-D;JNE
-@ball.move$if_false4
-0;JMP
-(ball.move$if_true4)
-@THIS
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true5
-D;JNE
-@ball.move$if_false5
-0;JMP
-(ball.move$if_true5)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-@ball.move$if_end5
-0;JMP
-(ball.move$if_false5)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(ball.move$if_end5)
-@ball.move$if_end4
-0;JMP
-(ball.move$if_false4)
-@THIS
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ball.move$if_true6
-D;JNE
-@ball.move$if_false6
-0;JMP
-(ball.move$if_true6)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-@ball.move$if_end6
-0;JMP
-(ball.move$if_false6)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(ball.move$if_end6)
-(ball.move$if_end4)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@10
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT0
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT0)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ball.move$if_true7
-D;JNE
-@ball.move$if_false7
-0;JMP
-(ball.move$if_true7)
-@SP
-M=M+1
-A=M-1
-M=1
-@THIS
-D=M
-@14
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@10
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(ball.move$if_false7)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@11
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT6
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT6)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ball.move$if_true8
-D;JNE
-@ball.move$if_false8
-0;JMP
-(ball.move$if_true8)
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@14
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@11
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(ball.move$if_false8)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@12
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT1
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT1)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ball.move$if_true9
-D;JNE
-@ball.move$if_false9
-0;JMP
-(ball.move$if_true9)
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@14
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@12
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-(ball.move$if_false9)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@13
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT7
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT7)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ball.move$if_true10
-D;JNE
-@ball.move$if_false10
-0;JMP
-(ball.move$if_true10)
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@14
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@THIS
-D=M
-@13
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-(ball.move$if_false10)
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.show
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL15
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL15)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@14
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(ball.bounce)
-@5
-D=A
-(LOOP_ball.bounce)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_ball.bounce
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL16
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL16)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL17
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL17)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ0
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ0)
-@SP
-AM=M-1
-D=M
-@ball.bounce$if_true0
-D;JNE
-@ball.bounce$if_false0
-0;JMP
-(ball.bounce$if_true0)
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ball.bounce$if_end0
-0;JMP
-(ball.bounce$if_false0)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT8
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT8)
-@SP
-A=M-1
-M=!M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@RET_ADDRESS_EQ1
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ1)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT9
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT9)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@RET_ADDRESS_EQ2
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ2)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@ball.bounce$if_true1
-D;JNE
-@ball.bounce$if_false1
-0;JMP
-(ball.bounce$if_true1)
-@20
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ball.bounce$if_end1
-0;JMP
-(ball.bounce$if_false1)
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-(ball.bounce$if_end1)
-(ball.bounce$if_end0)
-@THIS
-D=M
-@14
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@RET_ADDRESS_EQ3
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ3)
-@SP
-AM=M-1
-D=M
-@ball.bounce$if_true2
-D;JNE
-@ball.bounce$if_false2
-0;JMP
-(ball.bounce$if_true2)
-@506
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@50
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL18
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL18)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL19
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL19)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL20
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL20)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ball.bounce$if_end2
-0;JMP
-(ball.bounce$if_false2)
-@THIS
-D=M
-@14
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ4
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ4)
-@SP
-AM=M-1
-D=M
-@ball.bounce$if_true3
-D;JNE
-@ball.bounce$if_false3
-0;JMP
-(ball.bounce$if_true3)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@50
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL21
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL21)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL22
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL22)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL23
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL23)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ball.bounce$if_end3
-0;JMP
-(ball.bounce$if_false3)
-@THIS
-D=M
-@14
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ5
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ5)
-@SP
-AM=M-1
-D=M
-@ball.bounce$if_true4
-D;JNE
-@ball.bounce$if_false4
-0;JMP
-(ball.bounce$if_true4)
-@250
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@25
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL24
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL24)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL25
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL25)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL26
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL26)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ball.bounce$if_end4
-0;JMP
-(ball.bounce$if_false4)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@25
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL27
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL27)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL28
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL28)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL29
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL29)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(ball.bounce$if_end4)
-(ball.bounce$if_end3)
-(ball.bounce$if_end2)
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@R13
-M=D
-@ball.setdestination
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL30
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL30)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.new)
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.alloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL31
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL31)
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.show
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL32
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL32)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(bat.dispose)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.dealloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL33
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL33)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.show)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL34
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL34)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.draw
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL35
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL35)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.hide)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL36
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL36)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.draw
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL37
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL37)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.draw)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL38
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL38)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.setdirection)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.getleft)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(bat.getright)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@54
-0;JMP
-(bat.setwidth)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.hide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL39
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL39)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.show
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL40
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL40)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(bat.move)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@RET_ADDRESS_EQ6
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ6)
-@SP
-AM=M-1
-D=M
-@bat.move$if_true0
-D;JNE
-@bat.move$if_false0
-0;JMP
-(bat.move$if_true0)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT10
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT10)
-@SP
-AM=M-1
-D=M
-@bat.move$if_true1
-D;JNE
-@bat.move$if_false1
-0;JMP
-(bat.move$if_true1)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(bat.move$if_false1)
-@SP
-M=M+1
-A=M-1
-M=0
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL41
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL41)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL42
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL42)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL43
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL43)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL44
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL44)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@bat.move$if_end0
-0;JMP
-(bat.move$if_false0)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT2
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT2)
-@SP
-AM=M-1
-D=M
-@bat.move$if_true2
-D;JNE
-@bat.move$if_false2
-0;JMP
-(bat.move$if_true2)
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-(bat.move$if_false2)
-@SP
-M=M+1
-A=M-1
-M=0
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL45
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL45)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL46
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL46)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@1
-D=A
-@R13
-M=D
-@screen.setcolor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL47
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL47)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL48
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL48)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(bat.move$if_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(main.main)
-@SP
-AM=M+1
-A=A-1
-M=0
-@0
-D=A
-@R13
-M=D
-@ponggame.newinstance
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL49
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL49)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@ponggame.getinstance
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL50
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL50)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ponggame.run
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL51
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL51)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ponggame.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL52
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL52)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ponggame.new)
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.alloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL53
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL53)
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@0
-D=A
-@R13
-M=D
-@screen.clearscreen
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL54
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL54)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@50
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@230
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@229
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@R13
-M=D
-@bat.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL55
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL55)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@253
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@222
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@229
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@R13
-M=D
-@ball.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL56
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL56)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@400
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@3
-D=A
-@R13
-M=D
-@ball.setdestination
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL57
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL57)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@238
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@240
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@R13
-M=D
-@screen.drawrectangle
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL58
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL58)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@22
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@2
-D=A
-@R13
-M=D
-@output.movecursor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL59
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL59)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@8
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL60
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL60)
-@83
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL61
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL61)
-@99
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL62
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL62)
-@111
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL63
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL63)
-@114
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL64
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL64)
-@101
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL65
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL65)
-@58
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL66
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL66)
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL67
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL67)
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL68
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL68)
-@1
-D=A
-@R13
-M=D
-@output.printstring
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL69
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL69)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(ponggame.dispose)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL70
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL70)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL71
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL71)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.dealloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL72
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL72)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ponggame.newinstance)
-@0
-D=A
-@R13
-M=D
-@ponggame.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL73
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL73)
-@SP
-AM=M-1
-D=M
-@ponggame.0
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ponggame.getinstance)
-@ponggame.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(ponggame.run)
-@SP
-AM=M+1
-A=A-1
-M=0
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-(ponggame.run$while_exp0)
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ponggame.run$while_end0
-D;JNE
-(ponggame.run$while_exp1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ7
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ7)
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ponggame.run$while_end1
-D;JNE
-@0
-D=A
-@R13
-M=D
-@keyboard.keypressed
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL74
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL74)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.move
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL75
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL75)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ponggame.moveball
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL76
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL76)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ponggame.run$while_exp1
-0;JMP
-(ponggame.run$while_end1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@130
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ8
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ8)
-@SP
-AM=M-1
-D=M
-@ponggame.run$if_true0
-D;JNE
-@ponggame.run$if_false0
-0;JMP
-(ponggame.run$if_true0)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@2
-D=A
-@R13
-M=D
-@bat.setdirection
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL77
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL77)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ponggame.run$if_end0
-0;JMP
-(ponggame.run$if_false0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@132
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ9
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ9)
-@SP
-AM=M-1
-D=M
-@ponggame.run$if_true1
-D;JNE
-@ponggame.run$if_false1
-0;JMP
-(ponggame.run$if_true1)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@bat.setdirection
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL78
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL78)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ponggame.run$if_end1
-0;JMP
-(ponggame.run$if_false1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@140
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ10
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ10)
-@SP
-AM=M-1
-D=M
-@ponggame.run$if_true2
-D;JNE
-@ponggame.run$if_false2
-0;JMP
-(ponggame.run$if_true2)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-M=D
-(ponggame.run$if_false2)
-(ponggame.run$if_end1)
-(ponggame.run$if_end0)
-(ponggame.run$while_exp2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ11
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ11)
-@SP
-A=M-1
-M=!M
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ponggame.run$while_end2
-D;JNE
-@0
-D=A
-@R13
-M=D
-@keyboard.keypressed
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL79
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL79)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.move
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL80
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL80)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ponggame.moveball
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL81
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL81)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ponggame.run$while_exp2
-0;JMP
-(ponggame.run$while_end2)
-@ponggame.run$while_exp0
-0;JMP
-(ponggame.run$while_end0)
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ponggame.run$if_true3
-D;JNE
-@ponggame.run$if_false3
-0;JMP
-(ponggame.run$if_true3)
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@output.movecursor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL82
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL82)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@9
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL83
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL83)
-@71
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL84
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL84)
-@97
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL85
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL85)
-@109
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL86
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL86)
-@101
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL87
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL87)
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL88
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL88)
-@79
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL89
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL89)
-@118
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL90
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL90)
-@101
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL91
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL91)
-@114
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL92
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL92)
-@1
-D=A
-@R13
-M=D
-@output.printstring
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL93
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL93)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(ponggame.run$if_false3)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(ponggame.moveball)
-@5
-D=A
-(LOOP_ponggame.moveball)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_ponggame.moveball
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.move
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL94
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL94)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT3
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT3)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ12
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ12)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@ponggame.moveball$if_true0
-D;JNE
-@ponggame.moveball$if_false0
-0;JMP
-(ponggame.moveball$if_true0)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.getleft
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL95
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL95)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@bat.getright
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL96
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL96)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.getleft
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL97
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL97)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@ball.getright
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL98
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL98)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ13
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ13)
-@SP
-AM=M-1
-D=M
-@ponggame.moveball$if_true1
-D;JNE
-@ponggame.moveball$if_false1
-0;JMP
-(ponggame.moveball$if_true1)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT4
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT4)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT11
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT11)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-M=D
-@THIS
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@ponggame.moveball$if_true2
-D;JNE
-@ponggame.moveball$if_false2
-0;JMP
-(ponggame.moveball$if_true2)
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@RET_ADDRESS_LT12
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT12)
-@SP
-AM=M-1
-D=M
-@ponggame.moveball$if_true3
-D;JNE
-@ponggame.moveball$if_false3
-0;JMP
-(ponggame.moveball$if_true3)
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ponggame.moveball$if_end3
-0;JMP
-(ponggame.moveball$if_false3)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@RET_ADDRESS_GT5
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT5)
-@SP
-AM=M-1
-D=M
-@ponggame.moveball$if_true4
-D;JNE
-@ponggame.moveball$if_false4
-0;JMP
-(ponggame.moveball$if_true4)
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(ponggame.moveball$if_false4)
-(ponggame.moveball$if_end3)
-@THIS
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@bat.setwidth
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL99
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL99)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@22
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@output.movecursor
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL100
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL100)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@THIS
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.printint
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL101
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL101)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(ponggame.moveball$if_false2)
-(ponggame.moveball$if_false1)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@ball.bounce
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL102
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL102)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(ponggame.moveball$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(array.new)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT6
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT6)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@array.new$if_true0
-D;JNE
-@array.new$if_false0
-0;JMP
-(array.new$if_true0)
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL103
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL103)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(array.new$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.alloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL104
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL104)
-@54
-0;JMP
-(array.dispose)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.dealloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL105
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL105)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(keyboard.init)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(keyboard.keypressed)
-@24576
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.peek
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL106
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL106)
-@54
-0;JMP
-(keyboard.readchar)
-@SP
-A=M
-M=0
-AD=A+1
-M=0
-@SP
-M=D+1
-@SP
-M=M+1
-A=M-1
-M=0
-@1
-D=A
-@R13
-M=D
-@output.printchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL107
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL107)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(keyboard.readchar$while_exp0)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ14
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ14)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT7
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT7)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@keyboard.readchar$while_end0
-D;JNE
-@0
-D=A
-@R13
-M=D
-@keyboard.keypressed
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL108
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL108)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT8
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT8)
-@SP
-AM=M-1
-D=M
-@keyboard.readchar$if_true0
-D;JNE
-@keyboard.readchar$if_false0
-0;JMP
-(keyboard.readchar$if_true0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(keyboard.readchar$if_false0)
-@keyboard.readchar$while_exp0
-0;JMP
-(keyboard.readchar$while_end0)
-@0
-D=A
-@R13
-M=D
-@string.backspace
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL109
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL109)
-@1
-D=A
-@R13
-M=D
-@output.printchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL110
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL110)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.printchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL111
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL111)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(keyboard.readline)
-@5
-D=A
-(LOOP_keyboard.readline)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_keyboard.readline
-D;JGT
-@80
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL112
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL112)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.printstring
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL113
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL113)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@string.newline
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL114
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL114)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@0
-D=A
-@R13
-M=D
-@string.backspace
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL115
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL115)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-(keyboard.readline$while_exp0)
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@keyboard.readline$while_end0
-D;JNE
-@0
-D=A
-@R13
-M=D
-@keyboard.readchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL116
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL116)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ15
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ15)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@keyboard.readline$if_true0
-D;JNE
-@keyboard.readline$if_false0
-0;JMP
-(keyboard.readline$if_true0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ16
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ16)
-@SP
-AM=M-1
-D=M
-@keyboard.readline$if_true1
-D;JNE
-@keyboard.readline$if_false1
-0;JMP
-(keyboard.readline$if_true1)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.eraselastchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL117
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL117)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@keyboard.readline$if_end1
-0;JMP
-(keyboard.readline$if_false1)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL118
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL118)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-(keyboard.readline$if_end1)
-(keyboard.readline$if_false0)
-@keyboard.readline$while_exp0
-0;JMP
-(keyboard.readline$while_end0)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(keyboard.readint)
-@SP
-A=M
-M=0
-AD=A+1
-M=0
-@SP
-M=D+1
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@keyboard.readline
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL119
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL119)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.intvalue
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL120
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL120)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL121
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL121)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.init)
-@SP
-AM=M+1
-A=A-1
-M=0
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL122
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL122)
-@SP
-AM=M-1
-D=M
-@math.1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL123
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL123)
-@SP
-AM=M-1
-D=M
-@math.0
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(math.init$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT13
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT13)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.init$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@math.init$while_exp0
-0;JMP
-(math.init$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(math.abs)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT14
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT14)
-@SP
-AM=M-1
-D=M
-@math.abs$if_true0
-D;JNE
-@math.abs$if_false0
-0;JMP
-(math.abs$if_true0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-(math.abs$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.multiply)
-@5
-D=A
-(LOOP_math.multiply)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_math.multiply
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT15
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT15)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT9
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT9)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT10
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT10)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT16
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT16)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL124
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL124)
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL125
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL125)
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT17
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT17)
-@SP
-AM=M-1
-D=M
-@math.multiply$if_true0
-D;JNE
-@math.multiply$if_false0
-0;JMP
-(math.multiply$if_true0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-(math.multiply$if_false0)
-(math.multiply$while_exp0)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT18
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT18)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.multiply$while_end0
-D;JNE
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT11
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT11)
-@SP
-AM=M-1
-D=M
-@math.multiply$if_true1
-D;JNE
-@math.multiply$if_false1
-0;JMP
-(math.multiply$if_true1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-(math.multiply$if_false1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@math.multiply$while_exp0
-0;JMP
-(math.multiply$while_end0)
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@math.multiply$if_true2
-D;JNE
-@math.multiply$if_false2
-0;JMP
-(math.multiply$if_true2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(math.multiply$if_false2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.divide)
-@4
-D=A
-(LOOP_math.divide)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_math.divide
-D;JGT
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ17
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ17)
-@SP
-AM=M-1
-D=M
-@math.divide$if_true0
-D;JNE
-@math.divide$if_false0
-0;JMP
-(math.divide$if_true0)
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL126
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL126)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(math.divide$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT19
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT19)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT12
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT12)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT13
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT13)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT20
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT20)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL127
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL127)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL128
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL128)
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-(math.divide$while_exp0)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.divide$while_end0
-D;JNE
-@32767
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT21
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT21)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.divide$if_true1
-D;JNE
-@math.divide$if_false1
-0;JMP
-(math.divide$if_true1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT14
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT14)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.divide$if_true2
-D;JNE
-@math.divide$if_false2
-0;JMP
-(math.divide$if_true2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(math.divide$if_false2)
-(math.divide$if_false1)
-@math.divide$while_exp0
-0;JMP
-(math.divide$while_end0)
-(math.divide$while_exp1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@RET_ADDRESS_GT15
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT15)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.divide$while_end1
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT16
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT16)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.divide$if_true3
-D;JNE
-@math.divide$if_false3
-0;JMP
-(math.divide$if_true3)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-(math.divide$if_false3)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@math.divide$while_exp1
-0;JMP
-(math.divide$while_end1)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@math.divide$if_true4
-D;JNE
-@math.divide$if_false4
-0;JMP
-(math.divide$if_true4)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(math.divide$if_false4)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.sqrt)
-@4
-D=A
-(LOOP_math.sqrt)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_math.sqrt
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT22
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT22)
-@SP
-AM=M-1
-D=M
-@math.sqrt$if_true0
-D;JNE
-@math.sqrt$if_false0
-0;JMP
-(math.sqrt$if_true0)
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL129
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL129)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(math.sqrt$if_false0)
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(math.sqrt$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@RET_ADDRESS_GT17
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT17)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@math.sqrt$while_end0
-D;JNE
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@math.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL130
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL130)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT18
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT18)
-@SP
-A=M-1
-M=!M
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT23
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT23)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@math.sqrt$if_true1
-D;JNE
-@math.sqrt$if_false1
-0;JMP
-(math.sqrt$if_true1)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-(math.sqrt$if_false1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@math.sqrt$while_exp0
-0;JMP
-(math.sqrt$while_end0)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.max)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT19
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT19)
-@SP
-AM=M-1
-D=M
-@math.max$if_true0
-D;JNE
-@math.max$if_false0
-0;JMP
-(math.max$if_true0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-(math.max$if_false0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(math.min)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT24
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT24)
-@SP
-AM=M-1
-D=M
-@math.min$if_true0
-D;JNE
-@math.min$if_false0
-0;JMP
-(math.min$if_true0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-(math.min$if_false0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(memory.init)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@memory.0
-M=D
-@2048
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@memory.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@14334
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@2049
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@memory.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@2050
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(memory.peek)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@memory.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(memory.poke)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@memory.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(memory.alloc)
-@SP
-AM=M+1
-A=A-1
-M=0
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@RET_ADDRESS_LT25
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT25)
-@SP
-AM=M-1
-D=M
-@memory.alloc$if_true0
-D;JNE
-@memory.alloc$if_false0
-0;JMP
-(memory.alloc$if_true0)
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL131
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL131)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(memory.alloc$if_false0)
-@2048
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(memory.alloc$while_exp0)
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT26
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT26)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@memory.alloc$while_end0
-D;JNE
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@memory.alloc$while_exp0
-0;JMP
-(memory.alloc$while_end0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@16379
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT20
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT20)
-@SP
-AM=M-1
-D=M
-@memory.alloc$if_true1
-D;JNE
-@memory.alloc$if_false1
-0;JMP
-(memory.alloc$if_true1)
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL132
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL132)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(memory.alloc$if_false1)
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@RET_ADDRESS_GT21
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT21)
-@SP
-AM=M-1
-D=M
-@memory.alloc$if_true2
-D;JNE
-@memory.alloc$if_false2
-0;JMP
-(memory.alloc$if_true2)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@RET_ADDRESS_EQ18
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ18)
-@SP
-AM=M-1
-D=M
-@memory.alloc$if_true3
-D;JNE
-@memory.alloc$if_false3
-0;JMP
-(memory.alloc$if_true3)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@memory.alloc$if_end3
-0;JMP
-(memory.alloc$if_false3)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(memory.alloc$if_end3)
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(memory.alloc$if_false2)
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@54
-0;JMP
-(memory.dealloc)
-@SP
-A=M
-M=0
-AD=A+1
-M=0
-@SP
-M=D+1
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ19
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ19)
-@SP
-AM=M-1
-D=M
-@memory.dealloc$if_true0
-D;JNE
-@memory.dealloc$if_false0
-0;JMP
-(memory.dealloc$if_true0)
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@memory.dealloc$if_end0
-0;JMP
-(memory.dealloc$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@RET_ADDRESS_EQ20
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ20)
-@SP
-AM=M-1
-D=M
-@memory.dealloc$if_true1
-D;JNE
-@memory.dealloc$if_false1
-0;JMP
-(memory.dealloc$if_true1)
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@memory.dealloc$if_end1
-0;JMP
-(memory.dealloc$if_false1)
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(memory.dealloc$if_end1)
-(memory.dealloc$if_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.init)
-@16384
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.4
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL133
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL133)
-@SP
-AM=M-1
-D=M
-@output.3
-M=D
-@0
-D=A
-@R13
-M=D
-@output.initmap
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL134
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL134)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@output.createshiftedmap
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL135
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL135)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.initmap)
-@127
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL136
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL136)
-@SP
-AM=M-1
-D=M
-@output.5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL137
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL137)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL138
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL138)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@33
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL139
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL139)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@34
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@20
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL140
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL140)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL141
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL141)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@36
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL142
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL142)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@37
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@49
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL143
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL143)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@38
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL144
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL144)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@39
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL145
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL145)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@40
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL146
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL146)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@41
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL147
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL147)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@42
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL148
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL148)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@43
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL149
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL149)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@44
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL150
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL150)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@45
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL151
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL151)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@46
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL152
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL152)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@47
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL153
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL153)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL154
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL154)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@49
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL155
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL155)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@50
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL156
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL156)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL157
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL157)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@52
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@26
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@25
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@60
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL158
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL158)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@53
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL159
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL159)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL160
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL160)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@55
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@49
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL161
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL161)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@56
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL162
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL162)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@57
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@62
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL163
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL163)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@58
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL164
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL164)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL165
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL165)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@60
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL166
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL166)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@61
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL167
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL167)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@62
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL168
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL168)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@64
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL169
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL169)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL170
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL170)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@65
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL171
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL171)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@66
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL172
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL172)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@67
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL173
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL173)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@68
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL174
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL174)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@69
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL175
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL175)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@70
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL176
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL176)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@71
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@44
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL177
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL177)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@72
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL178
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL178)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@73
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL179
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL179)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@74
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@60
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL180
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL180)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@75
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL181
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL181)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@76
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL182
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL182)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@77
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@33
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL183
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL183)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@78
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@55
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@55
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL184
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL184)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@79
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL185
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL185)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@80
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL186
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL186)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@81
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@59
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL187
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL187)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@82
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL188
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL188)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@83
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL189
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL189)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@84
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@45
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL190
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL190)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@85
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL191
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL191)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@86
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL192
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL192)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@87
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL193
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL193)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@88
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL194
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL194)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@89
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL195
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL195)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@90
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@49
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@35
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL196
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL196)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@91
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL197
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL197)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@92
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=1
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL198
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL198)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@93
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL199
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL199)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@94
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@8
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL200
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL200)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@95
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL201
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL201)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@96
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL202
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL202)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@97
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL203
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL203)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@98
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL204
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL204)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@99
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL205
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL205)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@100
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@60
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL206
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL206)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@101
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL207
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL207)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@102
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@38
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL208
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL208)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@103
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@62
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL209
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL209)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@104
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@55
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL210
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL210)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@105
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL211
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL211)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@106
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@56
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL212
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL212)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@107
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL213
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL213)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@108
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL214
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL214)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@109
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@29
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@43
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@43
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@43
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@43
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL215
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL215)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@110
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@29
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL216
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL216)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@111
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL217
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL217)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@112
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL218
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL218)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@113
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@62
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL219
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL219)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@114
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@29
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@55
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL220
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL220)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@115
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL221
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL221)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@116
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@28
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL222
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL222)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@117
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL223
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL223)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@118
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL224
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL224)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@119
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL225
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL225)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@120
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@30
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL226
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL226)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@121
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@62
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@24
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL227
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL227)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@122
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@27
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@51
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL228
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL228)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@123
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@56
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@56
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL229
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL229)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@124
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL230
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL230)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@125
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@56
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL231
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL231)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@126
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@38
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@45
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@25
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-M=M+1
-A=M-1
-M=0
-@12
-D=A
-@R13
-M=D
-@output.create
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL232
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL232)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.create)
-@SP
-AM=M+1
-A=A-1
-M=0
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL233
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL233)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@4
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@8
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@9
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@9
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@10
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-D=M
-@11
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.createshiftedmap)
-@4
-D=A
-(LOOP_output.createshiftedmap)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_output.createshiftedmap
-D;JGT
-@127
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL234
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL234)
-@SP
-AM=M-1
-D=M
-@output.6
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-(output.createshiftedmap$while_exp0)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@127
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT27
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT27)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.createshiftedmap$while_end0
-D;JNE
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL235
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL235)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.6
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-(output.createshiftedmap$while_exp1)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT28
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT28)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.createshiftedmap$while_end1
-D;JNE
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@256
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL236
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL236)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@output.createshiftedmap$while_exp1
-0;JMP
-(output.createshiftedmap$while_end1)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ21
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ21)
-@SP
-AM=M-1
-D=M
-@output.createshiftedmap$if_true0
-D;JNE
-@output.createshiftedmap$if_false0
-0;JMP
-(output.createshiftedmap$if_true0)
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@output.createshiftedmap$if_end0
-0;JMP
-(output.createshiftedmap$if_false0)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-(output.createshiftedmap$if_end0)
-@output.createshiftedmap$while_exp0
-0;JMP
-(output.createshiftedmap$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.getmap)
-@SP
-AM=M+1
-A=A-1
-M=0
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT29
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT29)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@126
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT22
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT22)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@output.getmap$if_true0
-D;JNE
-@output.getmap$if_false0
-0;JMP
-(output.getmap$if_true0)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-(output.getmap$if_false0)
-@output.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.getmap$if_true1
-D;JNE
-@output.getmap$if_false1
-0;JMP
-(output.getmap$if_true1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@output.getmap$if_end1
-0;JMP
-(output.getmap$if_false1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.6
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(output.getmap$if_end1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(output.drawchar)
-@4
-D=A
-(LOOP_output.drawchar)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_output.drawchar
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.getmap
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL237
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL237)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(output.drawchar$while_exp0)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@11
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT30
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT30)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.drawchar$while_end0
-D;JNE
-@output.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.drawchar$if_true0
-D;JNE
-@output.drawchar$if_false0
-0;JMP
-(output.drawchar$if_true0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.4
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@256
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@output.drawchar$if_end0
-0;JMP
-(output.drawchar$if_false0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.4
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-(output.drawchar$if_end0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.4
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@output.drawchar$while_exp0
-0;JMP
-(output.drawchar$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.movecursor)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT31
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT31)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@22
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT23
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT23)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT32
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT32)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@63
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT24
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT24)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@output.movecursor$if_true0
-D;JNE
-@output.movecursor$if_false0
-0;JMP
-(output.movecursor$if_true0)
-@20
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL238
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL238)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(output.movecursor$if_false0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL239
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL239)
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@352
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL240
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL240)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL241
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL241)
-@RET_ADDRESS_EQ22
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ22)
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.drawchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL242
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL242)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.printchar)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@0
-D=A
-@R13
-M=D
-@string.newline
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL243
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL243)
-@RET_ADDRESS_EQ23
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ23)
-@SP
-AM=M-1
-D=M
-@output.printchar$if_true0
-D;JNE
-@output.printchar$if_false0
-0;JMP
-(output.printchar$if_true0)
-@0
-D=A
-@R13
-M=D
-@output.println
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL244
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL244)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@output.printchar$if_end0
-0;JMP
-(output.printchar$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@0
-D=A
-@R13
-M=D
-@string.backspace
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL245
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL245)
-@RET_ADDRESS_EQ24
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ24)
-@SP
-AM=M-1
-D=M
-@output.printchar$if_true1
-D;JNE
-@output.printchar$if_false1
-0;JMP
-(output.printchar$if_true1)
-@0
-D=A
-@R13
-M=D
-@output.backspace
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL246
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL246)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@output.printchar$if_end1
-0;JMP
-(output.printchar$if_false1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.drawchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL247
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL247)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@output.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.printchar$if_true2
-D;JNE
-@output.printchar$if_false2
-0;JMP
-(output.printchar$if_true2)
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-(output.printchar$if_false2)
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ25
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ25)
-@SP
-AM=M-1
-D=M
-@output.printchar$if_true3
-D;JNE
-@output.printchar$if_false3
-0;JMP
-(output.printchar$if_true3)
-@0
-D=A
-@R13
-M=D
-@output.println
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL248
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL248)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@output.printchar$if_end3
-0;JMP
-(output.printchar$if_false3)
-@output.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-(output.printchar$if_end3)
-(output.printchar$if_end1)
-(output.printchar$if_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.printstring)
-@SP
-A=M
-M=0
-AD=A+1
-M=0
-@SP
-M=D+1
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.length
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL249
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL249)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(output.printstring$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT33
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT33)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.printstring$while_end0
-D;JNE
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.charat
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL250
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL250)
-@1
-D=A
-@R13
-M=D
-@output.printchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL251
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL251)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@output.printstring$while_exp0
-0;JMP
-(output.printstring$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.printint)
-@output.3
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.setint
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL252
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL252)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@output.3
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.printstring
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL253
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL253)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.println)
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@352
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@8128
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ26
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ26)
-@SP
-AM=M-1
-D=M
-@output.println$if_true0
-D;JNE
-@output.println$if_false0
-0;JMP
-(output.println$if_true0)
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-(output.println$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(output.backspace)
-@output.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.backspace$if_true0
-D;JNE
-@output.backspace$if_false0
-0;JMP
-(output.backspace$if_true0)
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT25
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT25)
-@SP
-AM=M-1
-D=M
-@output.backspace$if_true1
-D;JNE
-@output.backspace$if_false1
-0;JMP
-(output.backspace$if_true1)
-@output.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-@output.backspace$if_end1
-0;JMP
-(output.backspace$if_false1)
-@31
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.0
-M=D
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ27
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ27)
-@SP
-AM=M-1
-D=M
-@output.backspace$if_true2
-D;JNE
-@output.backspace$if_false2
-0;JMP
-(output.backspace$if_true2)
-@8128
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-(output.backspace$if_false2)
-@output.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@321
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@output.1
-M=D
-(output.backspace$if_end1)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-@output.backspace$if_end0
-0;JMP
-(output.backspace$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@output.2
-M=D
-(output.backspace$if_end0)
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.drawchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL254
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL254)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.init)
-@SP
-AM=M+1
-A=A-1
-M=0
-@16384
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.2
-M=D
-@17
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL255
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL255)
-@SP
-AM=M-1
-D=M
-@screen.0
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(screen.init$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT34
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT34)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.init$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@screen.init$while_exp0
-0;JMP
-(screen.init$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.clearscreen)
-@SP
-AM=M+1
-A=A-1
-M=0
-(screen.clearscreen$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@8192
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT35
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT35)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.clearscreen$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@screen.clearscreen$while_exp0
-0;JMP
-(screen.clearscreen$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.updatelocation)
-@screen.2
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.updatelocation$if_true0
-D;JNE
-@screen.updatelocation$if_false0
-0;JMP
-(screen.updatelocation$if_true0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@screen.updatelocation$if_end0
-0;JMP
-(screen.updatelocation$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-(screen.updatelocation$if_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.setcolor)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.2
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawpixel)
-@3
-D=A
-(LOOP_screen.drawpixel)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_screen.drawpixel
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT36
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT36)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT26
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT26)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT37
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT37)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT27
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT27)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawpixel$if_true0
-D;JNE
-@screen.drawpixel$if_false0
-0;JMP
-(screen.drawpixel$if_true0)
-@7
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL256
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL256)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawpixel$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL257
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL257)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL258
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL258)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL259
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL259)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL260
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL260)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawconditional)
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.drawconditional$if_true0
-D;JNE
-@screen.drawconditional$if_false0
-0;JMP
-(screen.drawconditional$if_true0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.drawpixel
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL261
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL261)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@screen.drawconditional$if_end0
-0;JMP
-(screen.drawconditional$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.drawpixel
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL262
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL262)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawconditional$if_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawline)
-@11
-D=A
-(LOOP_screen.drawline)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_screen.drawline
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT38
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT38)
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT28
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT28)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT39
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT39)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT29
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT29)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawline$if_true0
-D;JNE
-@screen.drawline$if_false0
-0;JMP
-(screen.drawline$if_true0)
-@8
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL263
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL263)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawline$if_false0)
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL264
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL264)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@1
-D=A
-@R13
-M=D
-@math.abs
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL265
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL265)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT40
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT40)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT41
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT41)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-M=!M
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT42
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT42)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawline$if_true1
-D;JNE
-@screen.drawline$if_false1
-0;JMP
-(screen.drawline$if_true1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-A=A+1
-A=A+1
-M=D
-(screen.drawline$if_false1)
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.drawline$if_true2
-D;JNE
-@screen.drawline$if_false2
-0;JMP
-(screen.drawline$if_true2)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT30
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT30)
-@LCL
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@screen.drawline$if_end2
-0;JMP
-(screen.drawline$if_false2)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT31
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT31)
-@LCL
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-(screen.drawline$if_end2)
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL266
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL266)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL267
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL267)
-@LCL
-D=M
-@9
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL268
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL268)
-@LCL
-D=M
-@10
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@R13
-M=D
-@screen.drawconditional
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL269
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL269)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawline$while_exp0)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT43
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT43)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.drawline$while_end0
-D;JNE
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT44
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT44)
-@SP
-AM=M-1
-D=M
-@screen.drawline$if_true3
-D;JNE
-@screen.drawline$if_false3
-0;JMP
-(screen.drawline$if_true3)
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@9
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@screen.drawline$if_end3
-0;JMP
-(screen.drawline$if_false3)
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@10
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@screen.drawline$if_true4
-D;JNE
-@screen.drawline$if_false4
-0;JMP
-(screen.drawline$if_true4)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@screen.drawline$if_end4
-0;JMP
-(screen.drawline$if_false4)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(screen.drawline$if_end4)
-(screen.drawline$if_end3)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@3
-D=A
-@R13
-M=D
-@screen.drawconditional
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL270
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL270)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@screen.drawline$while_exp0
-0;JMP
-(screen.drawline$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawrectangle)
-@9
-D=A
-(LOOP_screen.drawrectangle)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_screen.drawrectangle
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT32
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT32)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT33
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT33)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT45
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT45)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT34
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT34)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT46
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT46)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT35
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT35)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawrectangle$if_true0
-D;JNE
-@screen.drawrectangle$if_false0
-0;JMP
-(screen.drawrectangle$if_true0)
-@9
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL271
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL271)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawrectangle$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL272
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL272)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL273
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL273)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL274
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL274)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL275
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL275)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL276
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL276)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-(screen.drawrectangle$while_exp0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT36
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT36)
-@SP
-A=M-1
-M=!M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.drawrectangle$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ28
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ28)
-@SP
-AM=M-1
-D=M
-@screen.drawrectangle$if_true1
-D;JNE
-@screen.drawrectangle$if_false1
-0;JMP
-(screen.drawrectangle$if_true1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL277
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL277)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@screen.drawrectangle$if_end1
-0;JMP
-(screen.drawrectangle$if_false1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL278
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL278)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(screen.drawrectangle$while_exp1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT47
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT47)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.drawrectangle$while_end1
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL279
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL279)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@screen.drawrectangle$while_exp1
-0;JMP
-(screen.drawrectangle$while_end1)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL280
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL280)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawrectangle$if_end1)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@screen.drawrectangle$while_exp0
-0;JMP
-(screen.drawrectangle$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawhorizontal)
-@11
-D=A
-(LOOP_screen.drawhorizontal)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_screen.drawhorizontal
-D;JGT
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.min
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL281
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL281)
-@LCL
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.max
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL282
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL282)
-@LCL
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@RET_ADDRESS_GT37
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT37)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@256
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT48
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT48)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@512
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT49
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT49)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@RET_ADDRESS_GT38
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT38)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-AM=M-1
-D=M
-@screen.drawhorizontal$if_true0
-D;JNE
-@screen.drawhorizontal$if_false0
-0;JMP
-(screen.drawhorizontal$if_true0)
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@2
-D=A
-@R13
-M=D
-@math.max
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL283
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL283)
-@LCL
-D=M
-@7
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.min
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL284
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL284)
-@LCL
-D=M
-@8
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL285
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL285)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-D=M
-@7
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL286
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL286)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-D=M
-@9
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL287
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL287)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-D=M
-@8
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL288
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL288)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-D=M
-@10
-D=D+A
-@R13
-M=D
-@SP
-AM=M-1
-D=M
-@R13
-A=M
-M=D
-@LCL
-D=M
-@9
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@10
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@screen.0
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@32
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL289
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL289)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@6
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ29
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ29)
-@SP
-AM=M-1
-D=M
-@screen.drawhorizontal$if_true1
-D;JNE
-@screen.drawhorizontal$if_false1
-0;JMP
-(screen.drawhorizontal$if_true1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL290
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL290)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@screen.drawhorizontal$if_end1
-0;JMP
-(screen.drawhorizontal$if_false1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@5
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL291
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL291)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(screen.drawhorizontal$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT50
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT50)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.drawhorizontal$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-A=M-1
-D=!M
-M=D+1
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL292
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL292)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@screen.drawhorizontal$while_exp0
-0;JMP
-(screen.drawhorizontal$while_end0)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@screen.updatelocation
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL293
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL293)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawhorizontal$if_end1)
-(screen.drawhorizontal$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawsymetric)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@3
-D=A
-@R13
-M=D
-@screen.drawhorizontal
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL294
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL294)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@3
-D=A
-@R13
-M=D
-@screen.drawhorizontal
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL295
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL295)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@3
-D=A
-@R13
-M=D
-@screen.drawhorizontal
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL296
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL296)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@3
-D=A
-@R13
-M=D
-@screen.drawhorizontal
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL297
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL297)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(screen.drawcircle)
-@3
-D=A
-(LOOP_screen.drawcircle)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_screen.drawcircle
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT51
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT51)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT39
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT39)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT52
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT52)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT40
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT40)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawcircle$if_true0
-D;JNE
-@screen.drawcircle$if_false0
-0;JMP
-(screen.drawcircle$if_true0)
-@12
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL298
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL298)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawcircle$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT53
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT53)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@511
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT41
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT41)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT54
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT54)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@255
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT42
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT42)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@screen.drawcircle$if_true1
-D;JNE
-@screen.drawcircle$if_false1
-0;JMP
-(screen.drawcircle$if_true1)
-@13
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL299
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL299)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawcircle$if_false1)
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@R13
-M=D
-@screen.drawsymetric
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL300
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL300)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(screen.drawcircle$while_exp0)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT43
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT43)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@screen.drawcircle$while_end0
-D;JNE
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT55
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT55)
-@SP
-AM=M-1
-D=M
-@screen.drawcircle$if_true2
-D;JNE
-@screen.drawcircle$if_false2
-0;JMP
-(screen.drawcircle$if_true2)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL301
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL301)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@screen.drawcircle$if_end2
-0;JMP
-(screen.drawcircle$if_false2)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL302
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL302)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@5
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(screen.drawcircle$if_end2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@4
-D=A
-@R13
-M=D
-@screen.drawsymetric
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL303
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL303)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@screen.drawcircle$while_exp0
-0;JMP
-(screen.drawcircle$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.new)
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.alloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL304
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL304)
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT56
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT56)
-@SP
-AM=M-1
-D=M
-@string.new$if_true0
-D;JNE
-@string.new$if_false0
-0;JMP
-(string.new$if_true0)
-@14
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL305
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL305)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.new$if_false0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT44
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT44)
-@SP
-AM=M-1
-D=M
-@string.new$if_true1
-D;JNE
-@string.new$if_false1
-0;JMP
-(string.new$if_true1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL306
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL306)
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-M=D
-(string.new$if_false1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.dispose)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT45
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT45)
-@SP
-AM=M-1
-D=M
-@string.dispose$if_true0
-D;JNE
-@string.dispose$if_false0
-0;JMP
-(string.dispose$if_true0)
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL307
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL307)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.dispose$if_false0)
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@memory.dealloc
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL308
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL308)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.length)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.charat)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT57
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT57)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT46
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT46)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ30
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ30)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@string.charat$if_true0
-D;JNE
-@string.charat$if_false0
-0;JMP
-(string.charat$if_true0)
-@15
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL309
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL309)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.charat$if_false0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.setcharat)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT58
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT58)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT47
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT47)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ31
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ31)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-AM=M-1
-D=M
-@string.setcharat$if_true0
-D;JNE
-@string.setcharat$if_false0
-0;JMP
-(string.setcharat$if_true0)
-@16
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL310
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL310)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.setcharat$if_false0)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.appendchar)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ32
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ32)
-@SP
-AM=M-1
-D=M
-@string.appendchar$if_true0
-D;JNE
-@string.appendchar$if_false0
-0;JMP
-(string.appendchar$if_true0)
-@17
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL311
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL311)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.appendchar$if_false0)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@THIS
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.eraselastchar)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ33
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ33)
-@SP
-AM=M-1
-D=M
-@string.eraselastchar$if_true0
-D;JNE
-@string.eraselastchar$if_false0
-0;JMP
-(string.eraselastchar$if_true0)
-@18
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL312
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL312)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.eraselastchar$if_false0)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.intvalue)
-@5
-D=A
-(LOOP_string.intvalue)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_string.intvalue
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ34
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ34)
-@SP
-AM=M-1
-D=M
-@string.intvalue$if_true0
-D;JNE
-@string.intvalue$if_false0
-0;JMP
-(string.intvalue$if_true0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.intvalue$if_false0)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@45
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_EQ35
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ35)
-@SP
-AM=M-1
-D=M
-@string.intvalue$if_true1
-D;JNE
-@string.intvalue$if_false1
-0;JMP
-(string.intvalue$if_true1)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-A=A+1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(string.intvalue$if_false1)
-(string.intvalue$while_exp0)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT59
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT59)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D&M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@string.intvalue$while_end0
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT60
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT60)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@9
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_GT48
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT48)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D|M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@string.intvalue$if_true2
-D;JNE
-@string.intvalue$if_false2
-0;JMP
-(string.intvalue$if_true2)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL313
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL313)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(string.intvalue$if_false2)
-@string.intvalue$while_exp0
-0;JMP
-(string.intvalue$while_end0)
-@LCL
-D=M
-@4
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@string.intvalue$if_true3
-D;JNE
-@string.intvalue$if_false3
-0;JMP
-(string.intvalue$if_true3)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(string.intvalue$if_false3)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.setint)
-@4
-D=A
-(LOOP_string.setint)
-D=D-1
-@SP
-AM=M+1
-A=A-1
-M=0
-@LOOP_string.setint
-D;JGT
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THIS
-M=D
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ36
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ36)
-@SP
-AM=M-1
-D=M
-@string.setint$if_true0
-D;JNE
-@string.setint$if_false0
-0;JMP
-(string.setint$if_true0)
-@19
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL314
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL314)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.setint$if_false0)
-@6
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL315
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL315)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT61
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT61)
-@SP
-AM=M-1
-D=M
-@string.setint$if_true1
-D;JNE
-@string.setint$if_false1
-0;JMP
-(string.setint$if_true1)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-A=A+1
-A=A+1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-A=M-1
-D=!M
-M=D+1
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-(string.setint$if_false1)
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-(string.setint$while_exp0)
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT49
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT49)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@string.setint$while_end0
-D;JNE
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.divide
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL316
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL316)
-@SP
-AM=M-1
-D=M
-@LCL
-A=M+1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@ARG
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@10
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@math.multiply
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL317
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL317)
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@LCL
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M+1
-M=D
-@string.setint$while_exp0
-0;JMP
-(string.setint$while_end0)
-@LCL
-D=M
-@3
-A=D+A
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@string.setint$if_true2
-D;JNE
-@string.setint$if_false2
-0;JMP
-(string.setint$if_true2)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@45
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(string.setint$if_false2)
-@THIS
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT62
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT62)
-@SP
-AM=M-1
-D=M
-@string.setint$if_true3
-D;JNE
-@string.setint$if_false3
-0;JMP
-(string.setint$if_true3)
-@19
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL318
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL318)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(string.setint$if_false3)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_EQ37
-D=A
-@6
-0;JMP
-(RET_ADDRESS_EQ37)
-@SP
-AM=M-1
-D=M
-@string.setint$if_true4
-D;JNE
-@string.setint$if_false4
-0;JMP
-(string.setint$if_true4)
-@SP
-M=M+1
-A=M-1
-M=0
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@48
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@string.setint$if_end4
-0;JMP
-(string.setint$if_false4)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-(string.setint$while_exp1)
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@RET_ADDRESS_LT63
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT63)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@string.setint$while_end1
-D;JNE
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@THAT
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-M=D
-@R5
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@THAT
-A=M
-M=D
-@THIS
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=D+M
-@SP
-AM=M-1
-D=M
-@THIS
-A=M+1
-A=A+1
-M=D
-@string.setint$while_exp1
-0;JMP
-(string.setint$while_end1)
-(string.setint$if_end4)
-@LCL
-A=M+1
-A=A+1
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@array.dispose
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL319
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL319)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(string.newline)
-@128
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.backspace)
-@129
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(string.doublequote)
-@34
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@54
-0;JMP
-(sys.init)
-@0
-D=A
-@R13
-M=D
-@memory.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL320
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL320)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@math.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL321
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL321)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@screen.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL322
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL322)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@output.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL323
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL323)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@keyboard.init
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL324
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL324)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@main.main
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL325
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL325)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@sys.halt
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL326
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL326)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(sys.halt)
-(sys.halt$while_exp0)
-@SP
-M=M+1
-A=M-1
-M=0
-@SP
-A=M-1
-M=!M
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@sys.halt$while_end0
-D;JNE
-@sys.halt$while_exp0
-0;JMP
-(sys.halt$while_end0)
-(sys.wait)
-@SP
-AM=M+1
-A=A-1
-M=0
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_LT64
-D=A
-@38
-0;JMP
-(RET_ADDRESS_LT64)
-@SP
-AM=M-1
-D=M
-@sys.wait$if_true0
-D;JNE
-@sys.wait$if_false0
-0;JMP
-(sys.wait$if_true0)
-@SP
-M=M+1
-A=M-1
-M=1
-@1
-D=A
-@R13
-M=D
-@sys.error
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL327
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL327)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-(sys.wait$if_false0)
-(sys.wait$while_exp0)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT50
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT50)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@sys.wait$while_end0
-D;JNE
-@50
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-(sys.wait$while_exp1)
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=0
-@RET_ADDRESS_GT51
-D=A
-@22
-0;JMP
-(RET_ADDRESS_GT51)
-@SP
-A=M-1
-M=!M
-@SP
-AM=M-1
-D=M
-@sys.wait$while_end1
-D;JNE
-@LCL
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@LCL
-A=M
-M=D
-@sys.wait$while_exp1
-0;JMP
-(sys.wait$while_end1)
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@SP
-M=M+1
-A=M-1
-M=1
-@SP
-AM=M-1
-D=M
-A=A-1
-M=M-D
-@SP
-AM=M-1
-D=M
-@ARG
-A=M
-M=D
-@sys.wait$while_exp0
-0;JMP
-(sys.wait$while_end0)
-@SP
-M=M+1
-A=M-1
-M=0
-@54
-0;JMP
-(sys.error)
-@3
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@string.new
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL328
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL328)
-@69
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL329
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL329)
-@82
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL330
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL330)
-@82
-D=A
-@SP
-AM=M+1
-A=A-1
-M=D
-@2
-D=A
-@R13
-M=D
-@string.appendchar
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL331
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL331)
-@1
-D=A
-@R13
-M=D
-@output.printstring
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL332
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL332)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@ARG
-A=M
-D=M
-@SP
-AM=M+1
-A=A-1
-M=D
-@1
-D=A
-@R13
-M=D
-@output.printint
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL333
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL333)
-@SP
-AM=M-1
-D=M
-@R5
-M=D
-@0
-D=A
-@R13
-M=D
-@sys.halt
-D=A
-@R14
-M=D
-@RET_ADDRESS_CALL334
-D=A
-@95
-0;JMP
-(RET_ADDRESS_CALL334)
-@SP
-AM=M-1
-D=M
-@R5
-M=D