;############# lectura de la flash de programa en tiempo de ejecucion #######################
lee_rotulo movf rotulo,W ;carga el vector donde apunta la etiqueta del mensaje
bsf STATUS, RP1 ;
bcf STATUS, RP0 ;Banco 2
movwf EEADR
movlw 0x00 ;util si los mensajes estan en otra pagina de memoria
movwf EEADRH
bsf STATUS, RP0 ;banco 3
bsf EECON1,EEPGD ;puntero a codigo de programa
bsf EECON1,RD ;inicia la lectura
nop ;espera 2 nops para concluir la lectura
nop ;(obligatorio)
bcf STATUS, RP0 ;banco 2
movf EEDATA, W ;byte bajo
bcf STATUS, RP1 ;banco 0
movwf caracter
bsf STATUS, RP1 ;banco 2
; movf EEDATH, W ;byte alto
; movwf DATAH
bcf STATUS, RP1 ;banco 0
movlw 0xFD
subwf caracter,W
btfsc STATUS,Z
return ;finaliza la lectura
call pinta_letra
incf rotulo,f
goto lee_rotulo