Hola a Todos ,viendo tu codigo veo como te apunta tapi8 tenes declarada una variable cont en una posicion reservada
tendrias que ubicarla a partir de la posicion 0x20 para no tener ese problema ,los otros registros creo que los ubicas
en esas posiciones porque son de acceso desde cualquier banco y eso facilita el uso para guardar los registros.
Sobre lo que te sucede con la interrrupcion puede ser causa que al inicio del progrma no borras la bandera RBIF antes de habilitar la interrupcion
tendrias que agregar BCF INTCON,RBIF y luego si habilitar la interrupcion por puertob BSF INTCON,RBIE y la general BSF INTCON,GIE ,espero te ayude.
Saludos!