> The advantage of this construct is that you can use the flags set by the increment to test for loop termination, rather than needing an additional comparison.
I don't understand your optimization. ZF is also set for dec, so why not just use dec and not negate the size?