@1
MOV UP, RIGHT

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

@3
MOV LEFT, ACC
SWP
MOV LEFT, ACC
L: SUB 64
JLZ E
SWP
ADD 32
SWP
JMP L
E: ADD 32
SWP
MOV ACC, DOWN
SWP
MOV ACC, DOWN

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

@5
MOV RIGHT, ACC
SWP
MOV RIGHT, ACC
JLZ F
SUB 16
SWP
ADD 8
SWP
F: ADD 8
SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT

@6
MOV UP, ACC
SWP
MOV UP, ACC
JLZ F
SUB 32
SWP
ADD 16
SWP
F: ADD 16
SWP
MOV ACC, LEFT
SWP
MOV ACC, LEFT

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

@9
MOV LEFT, ACC
SWP
MOV LEFT, ACC
JLZ G
SWP
ADD 1
SWP
G: SWP
MOV ACC, DOWN
