De todas formas, en el supuesto que tu programa sea como el que pego abajo, lo he simulado en Proteus y funciona perfectamente:
#include <16F877.h>
#use delay (clock=10000000)
#fuses HS,NOWDT,NOPUT,NOBROWNOUT,NODEBUG,NOPROTECT
#use rs232(baud=19200, xmit=PIN_C6,rcv=PIN_C7)
//Variables glabales
long datos[20];
int i;
//Función principal
void main() {
for (i=0;i<20;i++) {
datos[ i ]=i;
printf("%ld",datos[ i ]) ;
putc(13) ;
}
}