Let x=y=0, we get: f(0+0)=f(0)+f(0),
∴ f(0)=0;
Let y=−x, we get f(−x)+f(x)=f(0)=0, which means f(−x)=−f(x),
∴ y=f(x) is an odd function;
Since when x>0, f(x)>0,
∴ when x10, f(x2)−f(x1)=f(x2)+f(−x1)=f(x2−x1)>0,
∴ y=f(x) is monotonically increasing on R.
∴ The maximum value of f(x) on [−2012,−100] is f(−100).
Since f(2)=4,
∴ f(−2)=−4,
∴ f(−2−2)=f(−2)+f(−2)=2f(−2)=−8, i.e., f(−4)=−8,
Similarly, we can get f(−6)=3f(−2)=−12
...,
f(−2n)=nf(−2),
∴ f(−100)=50f(−2)=−200.
∴ The maximum value of f(x) on [−2012,−100] is −200.
Hence, the answer is −200.