@0
C: SWP
ADD 32
SWP
L: MOV UP, ACC
JEZ Z
SUB 1
JEZ C
MOV ACC, DOWN
JMP L
Z: SWP
MOV ACC, DOWN
MOV 0, DOWN

@1
L: MOV ACC, DOWN
ADD DOWN
JGZ L
F: ADD 32
JLZ F
SUB 26
JGZ K
MOV 0, ACC
K: MOV ACC, DOWN
MOV 0, ACC

@2
C: SWP
ADD 32
SWP
L: MOV UP, ACC
JEZ Z
SUB 1
JEZ C
MOV ACC, RIGHT
JMP L
Z: SWP
MOV ACC, RIGHT
MOV 0, RIGHT

@3
C: SWP
ADD 32
SWP
L: MOV LEFT, ACC
JEZ Z
SUB 1
JEZ C
MOV ACC, DOWN
JMP L
Z: SWP
MOV ACC, DOWN
MOV 0, DOWN

@4
S: MOV RIGHT, ACC
JEZ E
SUB UP
JGZ G
MOV 0, UP
JMP S
G: SUB 10
JGZ N
MOV 0, ACC
N: ADD 10
MOV ACC, UP
JMP S
E: MOV UP, NIL
MOV -257, UP
MOV UP, RIGHT

@5
C: SWP
ADD 32
SWP
L: MOV RIGHT, ACC
JEZ Z
SUB 1
JEZ C
MOV ACC, LEFT
JMP L
Z: SWP
MOV ACC, LEFT
MOV 0, LEFT
MOV LEFT, DOWN

@6
C: SWP
ADD 32
SWP
L: MOV UP, ACC
JEZ Z
SUB 1
JEZ C
MOV ACC, LEFT
JMP L
Z: SWP
MOV ACC, LEFT
MOV 0, LEFT
