@1
D: MOV RIGHT ACC
MOV ACC DOWN
JNZ D
Q: MOV RIGHT ACC
ADD 200
L: SAV
SUB DOWN
JLZ D
SUB 200
MOV ACC DOWN
SWP
JMP L

@2
A: MOV RIGHT ACC
MOV ACC LEFT
JNZ A
Q: MOV RIGHT ACC
MOV ACC LEFT
MOV ACC DOWN
R: MOV DOWN ACC
MOV ACC LEFT
JNZ R
JMP Q

@3
A: MOV UP ACC
MOV ACC LEFT
JNZ A
B: MOV UP ACC
MOV ACC LEFT
JNZ B
C: MOV UP ACC
NEG
MOV ACC LEFT
JMP C

@4
MOV 0 LEFT
D: MOV UP ACC
MOV ACC LEFT
JNZ D
MOV LEFT NIL
L: MOV LEFT ACC
JEZ E
MOV ACC UP
MOV ACC DOWN
MOV UP DOWN
JMP L
E: MOV 999 UP
MOV 0 RIGHT

@5
S: MOV 0 DOWN
MOV LEFT NIL
MOV UP ACC
JNZ R
P: MOV DOWN ACC
JEZ E
JGZ P
MOV ACC UP
JMP P
E: MOV 0 UP
JMP S
R: MOV DOWN ACC
MOV ACC UP
JNZ R

@7
L: MOV UP ACC
SAV
MOV UP ACC
JNZ N
SWP
NEG
JLZ P
MOV ACC DOWN
JMP L
N: SWP
P: MOV ACC RIGHT
JMP L
