q bueno q compartas tus rutinas, darse en la cabeza con el assembler es duro, a modo de observacion, recuerda que puedes poner en tu rutina al inicio #INCLUDE "P16F877A.INC" y con esto te ahorras tener que definir los registros del micro, los llamas como son y de igual forma con los bits cuando haces
bsf status,5
bcf status,6
los numeros los puedes reemplazar por RP0 y RP1
saludos