@0
MOV 8, ACC
I: MOV 0, LEFT
SUB 1
JNZ I
S: MOV UP, ACC
SAV
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
SWP
MOV ACC, DOWN
JNZ S
MOV UP, DOWN
JMP S

@3
M: MOV RIGHT, ACC
JLZ P
N: JEZ OP
MOV DOWN, UP
SUB 1
JMP N
P: MOV UP, DOWN
ADD 1
JLZ P
OP: MOV UP, ACC
MOV ACC, RIGHT
MOV RIGHT, UP

@4
S: SWP
SUB UP
MOV ACC, LEFT
MOV UP, ACC
SAV
MOV UP, ACC
JEZ W
MOV LEFT, ACC
MOV ACC, DOWN
MOV ACC, LEFT
JMP S
W: MOV UP, ACC
MOV LEFT, NIL
MOV ACC, LEFT

@7
MOV UP, DOWN
