@0


@1
RD: MOV UP, ACC
JEZ E
L: SAV
MOV ACC, RIGHT
MOV RIGHT, ACC
JEZ ND
MOV 2, DOWN
JMP L
ND: SWP
MOV 0, DOWN
MOV ACC, DOWN
E:

@2
B: MOV LEFT, ACC
SAV
SUB ACC
SWP
Q: SUB 2
SWP
ADD 1
SWP
JGZ Q
JEZ DZ
MOV 0, LEFT
JMP B
DZ: SWP
MOV ACC, LEFT

@3
B: MOV RIGHT, ACC
SAV
SUB ACC
SWP
Q: SUB 3
SWP
ADD 1
SWP
JGZ Q
JEZ DZ
MOV 0, RIGHT
JMP B
DZ: SWP
MOV ACC, RIGHT

@4
RD: MOV UP, ACC
JEZ MK
MOV ACC, RIGHT
JMP RD
MK: MOV UP, ACC
L: SAV
MOV ACC, LEFT
MOV LEFT, ACC
JEZ ND
MOV 3, RIGHT
JMP L
ND: SWP
MOV 0, RIGHT
MOV ACC, RIGHT

@5
RD: MOV LEFT, ACC
JEZ MK
MOV ACC, DOWN
JMP RD
MK: MOV LEFT, ACC
L: SAV
MOV ACC, RIGHT
MOV RIGHT, ACC
JEZ ND
MOV 5, DOWN
JMP L
ND: SWP
MOV 0, DOWN
MOV ACC, DOWN

@6
B: MOV LEFT, ACC
SAV
SUB ACC
SWP
Q: SUB 5
SWP
ADD 1
SWP
JGZ Q
JEZ DZ
MOV 0, LEFT
JMP B
DZ: SWP
MOV ACC, LEFT

@7


@8
RD: MOV RIGHT, ACC
JEZ MK
MOV ACC, DOWN
JMP RD
MK: MOV RIGHT, ACC
SUB 1
JEZ Z
ADD 1
MOV ACC, DOWN
Z: MOV 0, DOWN

@9
RD: MOV UP, ACC
JEZ MK
MOV ACC, LEFT
JMP RD
MK: MOV UP, ACC
L: SAV
MOV ACC, RIGHT
MOV RIGHT, ACC
JEZ ND
MOV 7, LEFT
JMP L
ND: SWP
MOV 0, LEFT
MOV ACC, LEFT

@10
B: MOV LEFT, ACC
SAV
SUB ACC
SWP
Q: SUB 7
SWP
ADD 1
SWP
JGZ Q
JEZ DZ
MOV 0, LEFT
JMP B
DZ: SWP
MOV ACC, LEFT
