@0
MOV UP ACC
SUB 512
JLZ A
MOV 64 DOWN
JMP B
A: MOV 0 DOWN
ADD 512
B: SUB 256
JLZ C
MOV 32 DOWN
JMP E
C: MOV 0 DOWN
ADD 256
E: MOV ACC DOWN

@1
MOV UP ACC
ADD UP
MOV ACC RIGHT
MOV UP ACC
SUB 128
JLZ Z
MOV 16 RIGHT
JMP E
Z: ADD 128
MOV 0 RIGHT
E: MOV ACC RIGHT

@2
MOV LEFT ACC
ADD LEFT
MOV ACC RIGHT
MOV LEFT ACC
SUB 64
JLZ Z
MOV 8 RIGHT
JMP E
Z: ADD 64
MOV 0 RIGHT
E: MOV ACC RIGHT

@3
MOV LEFT ACC
ADD LEFT
MOV ACC RIGHT
MOV LEFT ACC
SUB 32
JLZ Z
MOV 4 RIGHT
JMP E
Z: ADD 32
MOV 0 RIGHT
E: MOV ACC RIGHT

@4
MOV LEFT ACC
ADD LEFT
MOV ACC DOWN
MOV LEFT ACC
SUB 16
JLZ Z
MOV 2 DOWN
JMP E
Z: ADD 16
MOV 0 DOWN
E: ADD 998
SUB 998
MOV ACC DOWN

@6
MOV RIGHT DOWN

@7
MOV RIGHT ACC
MOV ACC DOWN
ADD ACC
MOV ACC LEFT

@8
MOV UP ACC
ADD UP
ADD UP
MOV ACC DOWN
ADD ACC
MOV ACC LEFT
