Tu problema es simple de resolver.
Tienes 2 tablas de 200 valores y como dice el amigo Chaly29 no puedes poner más de 256 valores por tabla porque el pcl se desborda. Pero para estos menesteres tenemos el registro pclath, que nos almacena los 5 bits más significativos del contador de programa. Con un ejemplo todo más claro:
Codigo:
org 0x00 ;Vector de reset
goto inicio
org 0x04
goto isr
;El indice de la tabla viene en el registro "w".
;Éste se guarda en el temporal "temp0". El resultado se devuelve en el "w".
tabal1 movwf temp0
clrf pclath ;Con esto nos aseguramos de que estamos en la primera zona de la primera página de programa (0~255)
movf temp0,w
addwf pcl,f
retlw 0x96
retlw 0x94
retlw 0x92
retlw 0x90
------------------- ;Resto de la tabla
org 0x100 ;Colocamos la siguiente tabla en la posición 256 de la memoria de programa
;El indice de la tabla viene en el registro "w".
;Éste se guarda en el temporal "temp0". El resultado se devuelve en el "w".
tabla2 movwf temp0
movlw 0x01
movwf pclath ;Con esto nos aseguramos de que estamos en la segunda zona de la primera página de programa (255~511)
movf temp0,w
addwf pcl,f
retlw 0x96
retlw 0x94
retlw 0x92
retlw 0x90
------------------- ;Resto de la tabla
Jugando con el pclath podemos aprovechar al máximo la memoria de programa cuando la rellenemos con tablas