Hola con todos...Se que esta pregunta tiene años y no tenia respuestas, yo también eh tenido el mismo problema y llegue aquí con las esperanzas de encontrar algo. Sucede que di con la solución que tenia en común con el amigo Pedro, espero que le sirva a alguien mas.
(leia el foro por varios años desde el 2016 aprox, ahora me toca aportar algo)
Lo que hice fue cargar un "direct menssage" en el 'stimulus' .( Debugger>>stimulus-->Asynch, seleccionas el registro RCREG y direct menssage) ahi pones un dato por ejemplo "T" en ascii.
Le das Fire ">" a tu línea...
Luego tienes que poner un breakpoints ( La bolita roja con una "B" ) en la línea del vector de interrupción, la 4 comúnmente .
Le das 'RUN'al Mplab Sim, y este avanzara hasta el breackpoint. veras que llegaste a tu interrupción de recepción por RC
Si te fijas bien tendrás el dato en tu registro RCREG y obviamente tu bandera RCIF de interrupción activada.
Observaciones: (use una velocidad de 9600 baudios) (4mhz)(programa principal vacía ) (ASM).
Utilice la herramienta "stopwatch" ( Debugger>>stopwach) para ver cuantos ciclos pasaba en ese lapso hasta llegar a la interrupción, y me arrojo unas 1056 líneas de ciclo de instrucción usadas, sospecho que son la cantidad de ciclos utilizadas al recibir la trama completa del dato por el modulo usart , pues al parecer al darle "fire" al dato este no se mueve instantáneamente, sino que tarda como el hardware del pic lo hiciera.
OBs 2:
Realice el paso anterior pero manualmente o por animación línea por línea y llegue a lo mismo, ocurrió la interrupción en la 1056 línea instrucción realizada.
Eso es todo, ojala que les sirva esta información a otras personas.