@0
Z: MOV UP, ACC
   SAV
S: SWP
   MOV ACC, RIGHT
   MOV ACC, RIGHT
   SWP
B: MOV RIGHT, ACC
   JNZ S
   JMP Z

@1
A: MOV UP, ACC
   JEZ Z
   SUB LEFT
   JLZ L
   ADD LEFT
   JMP V
L: MOV LEFT, ACC
   JMP V
Z: MOV LEFT, NIL
   MOV LEFT, NIL
V: MOV ACC, DOWN
   MOV ACC, LEFT
   MOV RIGHT, DOWN
   MOV RIGHT, DOWN
   MOV ACC, RIGHT

@2
Z: MOV UP, ACC
   SAV
S: SWP
   MOV ACC, LEFT
   MOV ACC, LEFT
   SWP
B: MOV LEFT, ACC
   JNZ S
   JMP Z

@4
A: MOV UP, ACC
   SUB UP
   JGZ H
   ADD UP
O: MOV ACC, DOWN
   JMP A
H: MOV UP, ACC
   JMP O

@8
MOV UP, DOWN
