Hola. No especificaste si la cadena que envias es estatica o dinamica.
Diciendo "estatica" me refiero a que siempre se envia la misma cadena pre-grabada en la flash.
En ese caso lo mejor es utilizar una tabla con instrucciones retlw XX. Ejemplo:
Codigo:
clrf CONTADOR ;vacio contador
nextbyte movf CONTADOR,W
banksel getmsg
call getmsg
movwf TXREG
CALL COMP_TX
incf CONTADOR,F
movf CONTADOR,W
xorlw ultimo - getmsg
btfss STATUS,Z
goto nextbyte
nop ;listo el envio!
getmsg addwf PCL,F
retlw 0x50
retlw 0x49
ultimo retlw 0x4E
COMP_TX BANK1 ; macro para el bank1
btfss TXSTA,TRMT ;comprueba si acabo de Tx.
goto COMP_TX ; no ha terminado
BANK0 ;macro para el banco 0
RETURN
Diciendo "dinamica" me refiero a que la cadena cambia, en este caso a la cadena
seguramente la guardas en la memoria del PIC asignada a los GPRs.
Si la cadena es muy larga te conviene utilizar el acceso indirecto a la memoria(mediante los registros especiales FSR e INDF)
Si el que necesitas es este segundo metodo decime que te hago un programita de ejemplo tambien(no lo hice x las dudas que utilices el que te puse).

Saludos