Me ganaste de mano.
Tuve que repasar todo de nuevo sobre el PCL y pasa eso. Solo se puede sumar hasta 8 bit (255) y como la tabla está más de 8 bit pasa lo que me pasó.
En efecto, lo que pasaba era lo siguiente:
Supongamos que tengo la tabla así
01CE tabla addwf pcl,f
01CF nop
01D0 retlw .....
01D1 retlw .....
Y W = 0, cuando se hace la suma, el PC va a saltar al valor 00CF (CE + W +1 = CF) y como el PCLATH 0;1 valen cero, salta a CF.Como bien lo has dicho alogic, para sumarle al PCL en una posición mayor a FF, hay que ajustar los bit 0;1 del PCLATH.
Resumiendo, no es un error del PAGESEL, es un error por no ajustar los bit de bajo peso del PCLATH.
Esto genera una pregunta, ¿hay alguna directiva que ajuste automáticamente los bit de menor peso del PCLATH?
Bueno, tengo que averiguarlo.