@0


@1
L: MOV RIGHT, ACC
NEG
ADD ACC
MOV ACC, DOWN
MOV UP, ACC
MOV ACC, DOWN
JMP L

@2
L: MOV UP, ACC
MOV ACC, LEFT
MOV ACC, DOWN
JMP L

@3


@4
L: MOV UP, ACC
MOV ACC, LEFT
SAV
MOV UP, ACC
C: ADD LEFT
SWP
MOV ACC, LEFT
SWP
JLZ P2
MOV 2, DOWN
JMP C
P2: SUB LEFT
MOV ACC, RIGHT
MOV -999, DOWN
JMP L

@5
L: MOV UP, ACC
NEG
MOV ACC, RIGHT
MOV ACC, RIGHT
MOV LEFT, ACC
ADD RIGHT
JLZ NG
MOV RIGHT, NIL
MOV 1, DOWN
MOV ACC, DOWN
JMP L
NG: SUB RIGHT
MOV 0, DOWN
MOV ACC, DOWN
JMP L

@6


@7
L: MOV 0, ACC
C: ADD UP
JLZ E
JMP C
E: ADD 999
ADD RIGHT
MOV ACC, DOWN
JMP L

@8
L: MOV UP, ACC
MOV ACC, LEFT
MOV UP, ACC
MOV ACC, DOWN
JMP L
