@0
S: MOV UP, ACC
MOV ACC, DOWN
JEZ W
SWP
MOV ACC, DOWN
SUB 27
JEZ W
ADD 30
SWP
MOV 0, RIGHT
JMP S
W: SAV
MOV 3, RIGHT

@1
S: MOV ACC, DOWN
ADD LEFT

@3
S: MOV UP, ACC
JEZ NL
MOV ACC, DOWN
MOV ACC, RIGHT
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, RIGHT
JMP S
NL: MOV 0, RIGHT

@4
S: MOV UP, ACC
SAV
MOV LEFT, ACC
JEZ S
MOV ACC, RIGHT
MOV LEFT, RIGHT
SWP
MOV ACC, DOWN
MOV ACC, RIGHT

@5
MOV LEFT, DOWN

@6
S: MOV UP, ACC
SUB 3
JEZ C3
JGZ C4
MOV UP, ACC
O: MOV ACC, RIGHT
MOV 0, RIGHT
JMP S
C3: MOV UP, ACC
ADD 1
JMP O
C4: MOV UP, RIGHT
MOV 3, RIGHT

@7
S: MOV LEFT, DOWN
MOV UP, DOWN
MOV 3, DOWN
MOV LEFT, ACC
JEZ NF
MOV ACC, DOWN
NF: MOV -1, DOWN
MOV RIGHT, DOWN
MOV RIGHT, DOWN
MOV 3, DOWN
MOV -1, DOWN

@8
S: MOV UP, ACC
SUB 2
JEZ C2
MOV UP, ACC
JMP Y
C2: MOV UP, ACC
ADD 1
Y: SAV
MOV UP, ACC
ADD 1
SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT
