Hola a todos,
Mi problema es el siguiente. Estoy utilizando un 16F88 programándolo en asm desde MPLABx, En el proyecto tengo un fichero fuente con el contenido que pongo a continuación, y un fichero 16f88.lnk que contiene las instrucciones para el linker sacado del paquete gnupic. El código es el siguiente.
radix DEC
LIST P=16F88
radix dec
#define max_flash 0x1000
#define prima_adresa max_flash-100 ; 100 word in size
; Code Protect Off | ? | Debug Off | ? | ? | Low voltaje programing Off | ? | MCLR Reset On | Power On retart OFF |Wadth Dog Off | Oscilador Interno RC
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
ERRORLEVEL 1, -305
;0000000000000000000000000 RESET 00000000000000000000000000
ORG 0x0000
PAGESEL IntrareBootloader
GOTO IntrareBootloader
;&&&&&&&&&&&&&&&&&&&&&&& START &&&&&&&&&&&&&&&&&&&&&&
;---------------------- Bootloader ----------------------
ORG prima_adresa
NOP
NOP
NOP
NOP
ORG prima_adresa+4
; PROGRAMA PRINCIPAL
IntrareBootloader
; Inicializacion Puerto B
BANKSEL TRISB ; BANK 1
MOVLW b'11010111' ; RB2 (RX)=input, RB3 (Led)=output RB5 (TX)=output
MOVWF TRISB
BANKSEL PORTB ; BANK 0
MOVLW B'00001000' ; Activo RB3
MOVWF PORTB
GOTO $
La cuestión es que cuando miro desde la utilidad que visualiza la memoria de programa del pic, la instrucción del goto generada tiene una dirección de la primera página, cuando debería estar saltando a la correcta que está en la segunda página segun el PAGESEL.
¿A alguien se le ocurre que puede estar pasando?
Gracias de antemano