@1
N: MOV UP, ACC
JNZ S
MOV 900, ACC
S: MOV ACC, DOWN

@2
N: MOV UP, ACC
JNZ S
MOV 999, ACC
S: MOV ACC, DOWN

@3
N: MOV UP, ACC
P: MOV ACC, RIGHT
SAV
MOV RIGHT, ACC
JNZ N
SWP
JMP P

@4
L: MOV LEFT, ACC
SUB RIGHT
JGZ B
MOV 0, LEFT
MOV ACC, RIGHT
MOV LEFT, DOWN
MOV 1, LEFT
JMP L
B: MOV 0, RIGHT
MOV 0, LEFT
MOV RIGHT, DOWN
MOV -99, RIGHT

@5
N: MOV UP, ACC
P: MOV ACC, LEFT
SAV
MOV LEFT, ACC
ADD 99
JEZ N
SWP
JMP P

@8
L: MOV UP, ACC
SUB 900
JEZ O
ADD 900
O: MOV ACC, DOWN
JMP L
