With microchip forum i just don't receive registration confirmation, tried "resend activation confirmation" option dozen times, no luck. May be I should try new email and user address.
With that MCU I'm trying to store messages in program memory using "DA" directive and then send them using table pointers to program memory (TBLPTL, TBPTRH, TBPTRU) to USART.
So when my program runs to the point where i want to transmitt my message to USART,
I do it by first assigning PC register values to table pointer values:
MOVFF PCL, TBLPTRL
MOVFF PCLATH, TBLPTRH
MOVFF PCLATU, TBLPTRU
And then after that i use DA directive to write my message to program flash memory (right where PC is pointing at):
da "\x02\r\n" ; x02 symbol indicates start of message
da "Change device name error ocured!\r\n" ; actual message
da "And don't worry\r\n" ; actual message
da "And be happy\r\n" ; actual message
da "\x03" ; x03 symbol indicates end of message
And then i call subprogram to transmit message from that place (where PC was pointing at) from begining (002h symbol) to the end (003h symbol) of message:
CALL USART_MSG_TX
And everything works fine, except THAT problem. Instead of doing it normal way (MOVFF PCLATU, TBLPTRU) i can write to TBLPTRU register value manualy. But then I will have to worry because it's value will depend on where in the program memory space this subprogram sits.