Tienes que repetir tantas veces la interrupción para lograr los 21600 seg (6 horas).
En tu ejemplo, estás haciendo la interrupción cada 10ms o sea, 0.01seg. (tmr0). Ahora tenemos que lograr 21600 seg.
haciendo una regla de 3 simple obtenemos que hay que repetir el desborde unos 2160000 veces.
Cada bit de la RAM es de 255, entonces ta va a ocupar 8471pociciones de la RAM, Pero esto es una locura. Lo que tienes que hacer es repetir el vaciado (poner a 0 todos los bit) de una pocición de la RAM, 847 veces con el valor 255 inicialmente y luego una mas de 15, todas en decimal.
¿Cómo llegue a estos valores? es facil.
Partimos desde donde obtuve las veces a repetir para lograr los 21600 seg:
Vamos con la regla de 3 simple:
1 repetición obtenemos 0,01seg
X 21600 seg
Nos queda así: (21600 x 1)/0,1= 2160000 repeticiones
Ahora para contar las repeticiones, disponemos pociciones de RAM de 255 (decimal) Si dividimos este valor por las repeticiones, nos dá la cantidad de pocición de memoria a utilizar, pero en realidad, lo utilizaremos para hacer una multiplicación, volvemos, nos queda así la fórmula: 2160000/255=8470,58 Lo que nos da 8471 pociciones de memoria, o las veces a multiplicar, pero como nos dió con decimal tendremos que multiplicar 255 (decimal) x 8470 = 2159850 rep, y nos falta 150 repeticiones más para obtener los 2160000 rep o 21600 seg
2160000 - 2159850 = 150
Y así se obtuvo los valores
ahora ¿como lo hago en el programa?, facil, al Reg 1 lo cargas con el valor 8470 (decimal) y a Reg2 con el valor 255 (decimal) pero solo acepta hasta 255 (decimal) debemos agregar una nueva fórmula y es 8470/255=33.21, esto nos dice que deberas descargar 33 veces al registro reg1 con el valor 255 y luego una vez más con el valor 55 y así obtubimos los primeros 8470 veces y ahora nos falta deberas cargar a Reg1 con el valor 150 y de nuevo a Reg2 con el valor 255, cuando se terminó de descargar por segunda vez reg2, habrás obtenido la 6 horas y con solo 2 pociciones de la RAM
Ahora te dejo a ti, para que hagas el programa y como consejo que busques un valor inicial para cada desbordamiento del tmr0 un valor más adecuado para hacer menos repeticiones y anular esta última de 15 repeticiones.
Revisa de nuevo la fórmula y el ejemplo que hay en el archivo adjuntado y encontraras la manera, pero asegurate deentender todos los pasos que hiso el autor.