@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 T
Z: MOV LEFT, NIL
   MOV LEFT, NIL
   JMP T
L: MOV LEFT, ACC
T: MOV ACC, LEFT
O: MOV ACC, DOWN

@2
MOV UP, DOWN

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

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

@8
MOV UP, DOWN
