Quote Originally Posted by Macgman2000 View Post
Ok for my own sanity, I would like confirmation on my understanding of how RB0 interrupt works or any interrupt for that matter. Once an interrupt condition happens, the interrupt flag is set, then the code is vectored to the interrupt start location.

In my code, I do the customary saving status, pclath..etc. Then I run my code, then repack status and pclath.
This HINT, was also a comment from your first code ...
Code:
; Save W, STATUS and PCLATH registers, if not done previously
Since a 16F877A has more than 2K of code space,
It was "done previously", and automatically by PBP.
Doing it again saves/restores the wrong values, which makes everything go Wacko.

However, you are also trying to CALL basic language routines from an ASM interrupt handler.

You can't do that.
At least, not the way your trying.
<br>