How to solve overflow stack problem problem in proteus?
In your interrupt handler &mdash; specifically in the calcBCD code &mdash; you have an unconditional branch to show, which is non-interrupt code, and this makes the retfie instruction following it unreachable. This appears to be the only exit path for nearly all paths through the interrupt handler (except for those that get through to checkstart &rarr; exit), and this is what is causing your stack to eventually overflow.

This sort of bug would be a lot harder to create in the first place if you were to adopt a more structured approach to controlling the flow through your code.