@0
MOV UP ACC
L: SUB 256
MOV -1 DOWN
JGZ L
MOV 1 DOWN
ADD 256
MOV ACC DOWN

@1
MOV -64 ACC
L: ADD 32
JRO UP
MOV ACC RIGHT
MOV UP RIGHT

@2
MOV LEFT RIGHT
MOV LEFT ACC
SUB 128
JLZ A
MOV 16 RIGHT
JMP B
A: MOV 0 RIGHT
ADD 128
B: SUB 64
JLZ C
MOV 8 RIGHT
JMP E
C: MOV 0 RIGHT
ADD 64
E: MOV ACC RIGHT

@3
MOV LEFT ACC
ADD LEFT
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
SAV
MOV LEFT ACC
JEZ E
L: SUB 8
SWP
ADD 1
SWP
JNZ L
E: SWP
MOV ACC DOWN

@6
MOV RIGHT DOWN

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

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