@0
MOV UP, ACC
MOV ACC, RIGHT
MOV ACC, DOWN
LOOP: SUB DOWN
JLZ D1
SUB DOWN
JLZ D2
MOV -2, DOWN
JMP LOOP
D1: MOV DOWN, NIL
D2: MOV 1, DOWN
MOV ACC, DOWN
ADD ACC
MOV ACC, DOWN

@1
MOV UP, DOWN
MOV LEFT, ACC
MOV ACC, DOWN
LOOP: SUB DOWN
JLZ D1
SUB DOWN
JLZ D2
MOV -2, DOWN
JMP LOOP
D1: MOV DOWN, NIL
D2: MOV 1, DOWN
MOV ACC, DOWN
ADD ACC
MOV ACC, DOWN

@2
S: MOV RIGHT, ACC
MOV UP, DOWN
SAV
LOOP: MOV ACC, UP
MOV ACC, UP
JRO UP
MOV UP, DOWN
ADD UP
JGZ U
SWP
MOV ACC, DOWN
JMP S
U: MOV 0, DOWN

@3
S: MOV UP, ACC
MOV ACC, LEFT
MOV UP, DOWN
NEG
ADD 11
MOV ACC, RIGHT
LOOP: MOV ACC, UP
MOV ACC, UP
JRO UP
MOV UP, DOWN
MOV UP, RIGHT

@4
S: MOV LEFT, ACC
SAV
ADD LEFT
JGZ U
SWP
MOV ACC, DOWN
JMP S
U: MOV 0, DOWN

@5
MOV UP, ACC
SUB UP
SUB UP
MOV ACC, DOWN

@6
MOV UP, ACC
SUB UP
SUB RIGHT
MOV ACC, DOWN

@7
MOV UP, LEFT
