@0


@1
S: MOV UP, ACC
MOV ACC, DOWN
MOV -1, RIGHT
L: MOV ACC, RIGHT
MOV UP, ACC
MOV ACC, DOWN
MOV ACC, DOWN
JGZ L
JEZ L

@2


@3


@4
NEW: MOV UP, ACC
JLZ O
SAV
B: SUB UP
JGZ NEW
ADD UP
JMP B
O: SWP
NEG
MOV ACC, RIGHT
MOV ACC, RIGHT

@5
MOV LEFT, NIL
MOV -1, ACC
L1: MOV ACC, RIGHT
MOV UP, ACC
JGZ L1
JEZ L1
MOV LEFT, DOWN

L2: MOV RIGHT, ACC
MOV ACC, DOWN
JGZ L2
JEZ L2

@6


@7
MOV UP, ACC
O: SAV
ADD UP
JLZ D
MOV ACC, DOWN
SWP
JMP O
D: MOV -1, DOWN

@8

