Hi nature tech,
Its been a long time since i last posted on this forum. I have written a program for a rotary encoder. But i have written it in C. I have used pic16f72 and have made 1x, 2x, 4x measurements. In 1x it increments counter only once for every pulse. I had used a 1000ppr(pulse per rev) encoder & the count value displayed on a LCD. So the resolution is 360degrees/1000. With 2x you will get double & with 4x you get 360/4000.
I have used different interrupt sources like portb int0, ccp,timer0, timer1.
If you are interested i will send you the source code.
The compiler Iam using is free version & you can write upto 2k code. And all this with instant interrupts.
If you are interested let me know & i will post it.

Raghunathan.