How to find cause of reset in PIC16F microcontroller?
I just found the PCON register in the datasheet (took some searching).  See page 61 of the linked datasheet:


Brown-out Reset (BOR)
Reset Instruction Reset (RI)
MCLR Reset (RMCLR)
Watchdog Timer Reset (RWDT)
Stack Underflow Reset (STKUNF)
Stack Overflow Reset (STKOVF)


Haven't heard of a stack underflow error.  Searching the meaning of that now...