Tested the above code. On power up, it gives 3 and 6 on 16f870 and 2 and 4 on 12f683, same results on each power up.

however, if I place it in the loop, results on 16f870 are changing, while on 12f683 they remain 2 and 4.