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:
<span class="texto_mini">Codigo:</span>
org 0x00 ;Vector de rese
t
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
Hola,mi pregunta es porque al ver lo que señalaste,de colocar varias tablas de como maximo 255 VALORES,hasta ahi lo entiendo,pero no me queda claro ,que bits del PCLATH estas escribiendo para despalazarte 256 POSICIONES,no deberia ser ,que estas en la OTRA PAGINA,si varias el PCLATH,ya que con el PCL,solo podes recorrer 256 posiciones ,desde la que
estas,y estas diciendo,que DENTRO,de la misma pagina,te podes ir corriendo con el PCLATH,lo cual creo que es erroneo,con el PCLATH,cambias de pagina,es decir,de a 2048 posiciones.