Seguramente existan libros que lo traten... yo se que la arquitectura y el funcionamiento del PIC esta todo escrito en el datasheet, por ahi un poco medio resumido, pero explicado en fin. Asi que si quisieras saber su arquitectura, en el datasheet tenes TODO.
Por ejemplo, todo lo de saltos esta en la pagina 53 del datasheet. Le sigue el uso del stack (si es que lo vas a usar manualmente ) sino podes dejarlo al uso del micro nomas.
Un ejemplo del uso del stack, primero explico como funciona el CALL y el RETURN, cuando uno hace un CALL el CPU del micro guarda la direccion en el stack, y al hacer uso del RETURN saca esa direccion que puso al ultimo y lo pone en el PC.
Hasta ahora para "saltar" lo que haciamos era computar el PC nuevo, modificar PCLATH y luego modificar el PCL, asi se cargaba en PC todo completo.
Otra forma es.... Calcular la direccion.. Es decir : (Direccion inicio + indice ), sumarlo y guardarlo en el stack, ejecutar un RETURN y listo, tenes tu tabla funcionando, ya que el RETURN va a sacar la direccion que nosotros pusimos y lo va a poner en el PC, cuando ejecute esa direccion seguramente tengas un RETLW, por eso esto requiere que si o si tengas un CALL antes a la funcion de la tabla.
Si seguis en el datasheet tenes explicado la parte de acceso indirecto a la memoria. En PICs mas antiguos este acceso era unicamente con la RAM, en los mas nuevos tambien se puede leer la FLASH.. Y si puedo leer la FLASH tambien puede leer una TABLA!! Esto es MUY util en el caso que necesites todos tus valores de forma ordenada y continua (seguidas) o Tambien en el caso de que necesites computar el valor, de esta forma no necesitas "saltar". Solo cargas la direccions en los FSR y luego de alli tomar el dato en el INDF.
En fin en este PIC tenes varias formas de implementar una tabla... yo me centre en el uso del PCL, pero como ves existen varias mas. Solo es cuestion de practica, imaginacion y tambien haber visto otros codigos como para darse una idea de como usarlos para distintas cosas.