I was having problems debugging some code for 16F877. It was hanging on UART transmit, never setting TXIF.
I therefore tested the p16_tprp.asm code from Microchipt (Appendix A to their UART application note). This did not work either.
After compiling uart.cc with debug set, and examining the output closely, I concluded that the probel lay with two calls to set_break. I changed two occurences of:
After this change the p16_tprp.asm now works as expected.