O bit TRMT não vai para um.

Olá galera, estou utilizando o Proteus para simular um circuito com o PIC16F877a e possuo um loop de varredura nuns terminais via serial.
Cada terminal tem um endereço e a minha varredura consiste num loop infinito sendo que são 77 terminais.
Acontece que quando chega no 15°, o bit TRMT do Reg. TXSTA não vai para um. O que é confuso é que nas 14 primeiras varreduras o loop é exatamente igual e justamente na 15ª o programa trava no loop abaixo:
BANKSEL TXSTA
BTFSS TXSTA,TRMT
GOTO $-2
BANKSEL PORTA
A comunicação é USART e estou utilizando TMR0.
Cada terminal tem um endereço e a minha varredura consiste num loop infinito sendo que são 77 terminais.
Acontece que quando chega no 15°, o bit TRMT do Reg. TXSTA não vai para um. O que é confuso é que nas 14 primeiras varreduras o loop é exatamente igual e justamente na 15ª o programa trava no loop abaixo:
BANKSEL TXSTA
BTFSS TXSTA,TRMT
GOTO $-2
BANKSEL PORTA
A comunicação é USART e estou utilizando TMR0.