@1
MOV UP, RIGHT

@2
MOV UP, ACC
SUB 999
ADD LEFT
JGZ P
ADD 999
MOV 0, DOWN
JMP S
P: SUB 1
MOV 500, DOWN
S: MOV ACC, DOWN

@4
MOV RIGHT, ACC
SWP
MOV RIGHT, ACC
JLZ F
SUB 16
SWP
ADD 8
SWP
F: ADD 8
SWP
MOV ACC, DOWN
SWP
MOV ACC, DOWN

@5
MOV UP, ACC
SWP
MOV UP, ACC
L: SUB 32
JLZ E
SWP
ADD 16
SWP
JMP L
E: ADD 16
SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT

@8
MOV UP, ACC
SWP
MOV UP, ACC
JLZ F
SUB 8
SWP
ADD 4
SWP
F: ADD 4
SWP
MOV ACC, RIGHT
SWP
MOV ACC, RIGHT

@9
MOV LEFT, ACC
SWP
MOV LEFT, ACC
JLZ F
SUB 4
SWP
ADD 2
SWP
F: ADD 2
JLZ G
SWP
ADD 1
SWP
G: SWP
MOV ACC, DOWN
