@0


@1
L: MOV RIGHT, ACC
NEG
ADD ACC
ADD ACC
ADD ACC
MOV ACC, DOWN
MOV UP, ACC
MOV ACC, DOWN
JMP L

@2
L: MOV UP, ACC
MOV ACC, LEFT
NEG
MOV ACC, DOWN
JMP L

@3


@4
L: MOV UP, ACC
MOV ACC, LEFT
SAV
MOV UP, ACC
C: ADD LEFT
SWP
MOV ACC, LEFT
SWP
JLZ P2
MOV 8, DOWN
JMP C
P2: SUB LEFT
MOV ACC, RIGHT
MOV -999, DOWN
JMP L

@5
L: MOV UP, ACC
MOV ACC, RIGHT
SAV
MOV LEFT, ACC
C: ADD RIGHT
SWP
MOV ACC, RIGHT
SWP
JLZ DONE
MOV 1, DOWN
JMP C
DONE: SUB RIGHT
MOV -999, DOWN
MOV ACC, DOWN
JMP L

@6


@7
L: MOV 0, ACC
A: ADD UP
JLZ P
JMP A
P: ADD 999
ADD RIGHT
MOV ACC, DOWN
JMP L

@8
L: MOV 0, ACC
C: ADD UP
JLZ E
JMP C
E: ADD 999
MOV ACC, LEFT
MOV UP, ACC
MOV ACC, DOWN
JMP L
