@0
L:MOV UP ACC
MOV ACC DOWN
JEZ E
SUB 2
JNZ L
SWP
ADD 1
SWP
JMP L
E:SWP
MOV ACC DOWN
MOV 2 DOWN

@1
L:MOV RIGHT ACC
JEZ E
MOV ACC DOWN
SUB 1
JNZ L
SWP
ADD 1
SWP
JMP L
E:MOV 6 DOWN
SWP
MOV ACC RIGHT
MOV 1 RIGHT
MOV DOWN RIGHT
MOV 3 RIGHT

@2
L:MOV UP ACC
MOV ACC LEFT
MOV ACC RIGHT
JNZ L
C:SAV
SUB ANY
MOV ACC DOWN
SWP
SUB DOWN
MOV LAST DOWN
JRO DOWN

@3
L:MOV LEFT ACC
JEZ E
MOV ACC DOWN
SUB 5
JNZ L
SWP
ADD 1
SWP
JMP L
E:MOV 6 DOWN
SWP
MOV ACC LEFT
MOV 5 LEFT
MOV DOWN LEFT
MOV 4 LEFT

@4
L:JRO UP
JMP L
JMP L
ADD 1
JMP L
JMP L
MOV -6 RIGHT
MOV -7 RIGHT
MOV -6 RIGHT
MOV -7 RIGHT
MOV ACC UP
MOV -6 RIGHT
MOV -7 RIGHT
MOV 0 ACC

@5
JMP L
O:SWP
MOV ACC DOWN
L:MOV UP ACC
JLZ N
MOV 0 UP
MOV UP NIL
JNZ C
S:SAV
C:MOV ANY UP
JRO LAST
N:MOV ACC UP
MOV UP ACC
JMP S

@6
L:JRO UP
JMP L
JMP L
JMP L
ADD 1
JMP L
MOV ACC UP
MOV -6 LEFT
MOV -7 LEFT
MOV -10 LEFT
MOV -9 LEFT
MOV 0 ACC
