hola no se como es tu programa ni que procesador usas pero fijate que si trabajas con tablas estan tienen que estar dentro de una misma pagina porque de lo contrario salta a cualquier lugar.
Otra cosa es EJM. tienes una INTRR x TMR0 luego otra por RB0 luego otra x cambios en ptob,4-7. etc.
Desde salir de CADA UNA con la instr. corresp. si es por TMR0 poner a cero el bit correspondiente al intcon,2 luego poner en 1 el bit intcon,7 , Si hay otra intrr por ejm x RB0 tratarla y salir de esta poniendo el bit corresp al RB0. etc.
chau que te sirva.
si tienes alguna rutina en essamblador para hacer andar un DS1307 tiramela PLEASE.