Franc769 tu rutina debiera funcionar, ahora bien si quieres hacerla algo más versátil puedes añadir una pequeña modificación.
Tu tienes así:
MOVLW b'00000110' ;Memoria de programa página 0 subpagina 6
MOVWF PCLATH ;Carga el PCLATH para el salto en memoria
;....................................................................................
;Tabla para la correción del sensor de efecto HALL
ORG 600h ;inicio de la tabla en 0600h= Página 0, subpagina 6
TABLA ADDWF PCL,F ;PCL + Offset
Puedes cambiarlo por
MOVLW high(TABLA)
MOVWF PCLATH ;Carga el PCLATH para el salto en memoria
;....................................................................................
;Tabla para la correción del sensor de efecto HALL
ORG 600h ;inicio de la tabla en 0600h= Página 0, subpagina 6
TABLA:
ADDWF PCL,F ;PCL + Offset
Los : después de tabla los uso para distinguir que ahí comienza una subrutina pero no es necesario que lo uses. Si te fijas "high(TABLA)" lo que hará es durante el ensamblado del programa determinará la posición de TABLA (el cual será 0x600 en tu caso) y tomará el valor alto, es decir 0x06.
Así si mañana o cuando sea mueves la rutina, no tendrás que preocuparte de en qué página está.
Saludos