Hola, el problema es que depende de donde pongas la tabla y su longitud, por esto es recomendable colocar las tablas en las primeras direcciones de memoria de la pagina donde este situada,
por ejemplo, si la tabla esta en la direccion 0x100 como explica Norberto, podras incorporar hasta 0xFF ( 255 ) byte, siempre y cuando no te ocupes del registro PCLATH, pues este contiene la parte superior del contador de programa que tambien es posible modificarlo, eso si cuidado con el , o mejor dicho conseva su valor cuando vuelvas de la tabla si no tu retorno sera a cualquier parte del programa.
Para resumir, puedes sumas mas de 255 pero sumaras al PCLATH tambien, si le sumas a 0x100 0xFF vas a tener 0x1FF y bueno no hay desborde pero si sumas 0x100 (256) se complica osea que el resulrtado sera 0x200 y ahi en vez de volver el micro se va a cualquier parte, para lo que tendras que agregar algo asi
movlw 0x02
movwf PCLATH
movfw TEMP9
call TABLA_DIA ; la tabla esta a partir de la direccion 0x200
clrf PCLATH
esto claro conociendo donde esta situada la tabla, hay algo mejor
que es que se haga en forma automatica, esta explicado en la AN556 de Microchip que la encontraras en
www.microchip.com con
todos los detalles, espero no haberles complicado mas la cabeza,
un saludo
ARIEL