travamento na int_rda 628a

ola estou com um problema no meu código estou usando 2 pic16f628a um deles manda 8 caracteres o segundo captura estes caracteres e apos receber os 8 vai para a rotina principal aonde le os 8 carácteres verifica os dados e faz o que tem que fazer, o problema é que quando ele recebe os 8 dados eu desligo a int_rda na própria interrupcao para o programa poder tratar os dados no final quando mando ligar novamente nao consigo mais receber dados trava o pic. porque ?
cpp code
se eu nao desligo a interrupcao o programa nao trava recebendo e entrando no if em questao porem no codigo que eu vou fazer quero desligar para poder ter tempo de tratar corretamente os dados. agradeço qualquer ajuda uso o ccs
cpp code
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8)
#int_RDA
void RDA_isr(void)
{
if (dado[0]==getc()) // sincroniza //
{
for(z=1; z<8; z++)
{
dado[z]=getc(); // captura os 7 dados o primeiro é fixo //
if(z==8)
{
clear_interrupt(int_rda); // limpa int//
disable_interrupts(int_rda); // desliga int//
}
}
}
}
void main(void)
{
port_b_pullups(TRUE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
trisa=0b00000000; // seta os tris do porte a //
trisb=0b00000010; // seta os tris do porte b //
porta=0x00; // seta os port do porte a //
portb=0x00; // seta os port do porte b //
dado[0]=0xAA;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*rotina principal *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
while(true)
{
if(dado[1]==0x4A && dado[2]==0x4C && dado[3]==0x4B && dado[4]+dado[5]==0x4F)
{
led=~led;
delay(40); // rotina que faz delay_cycles para dar 1seg //
enable_interrupts(int_rda); // apos isso o programa trava nao entrando novamente na interrupcao int_rda //
}
}
}
se eu nao desligo a interrupcao o programa nao trava recebendo e entrando no if em questao porem no codigo que eu vou fazer quero desligar para poder ter tempo de tratar corretamente os dados. agradeço qualquer ajuda uso o ccs