Si bueno la rutine es una que encontre en internet ahora trate de modificarla y si me falta la sub BIT pero en todo caso lo que necesitaba era una ayuda en vez de una critica, al final lo resolvi solo y dejo la rutina aca para que la pueda usar quien la necesite.
;La rutina la extraje de Internet Solo la mofifique pero funciona bien
;para el que la quiera usar
;Funciona a 1200bps
LIST P=16F84
;*****************************
;Declaración de registros
Optionr equ 0x01
status equ 0x03
PORTA equ 0x05
PORTB equ 0x06
carry equ 0
TX equ 2
r0d equ 0x0d
r0e equ 0x0e
trans equ 0x0f
org 0
goto Inicio
org 5
;****************************
;Subrutina delay para transmitir un bit
Delay movlw .166 ;cargar para 833 microseg aproximadamente
startup movwf r0e ;llevar a cabo el retardo
redo nop ;limpiar circuito de vigilancia
nop
decfsz r0e
goto redo
retlw 0
;Fin de la subrutina delay
;****************************
;Subrutina enviar,datos a traves del transmisor
Enviar movwf trans ;llevar el contenido de w a transmision
xmrt movlw 8 ;cargar con el numero de bits
movwf r0d ;el contador
bcf PORTA,TX ;colocar la linea de transmision en bajo
call Delay ;para generar bit de arranque
xnext bcf PORTA,TX ;colocar la linea de transmision en bajo
bcf status,carry ;limpiar el carry
rrf trans ;rotar registro de transmision
btfsc status,carry ;preguntar por el carry
bsf PORTA,TX ;si es uno, colocar linea en alto
call Delay
decfsz r0d ;decrementar el contador, saltar si cero
goto xnext ;repetir hasta transmitir el dato
bsf PORTA,TX ;colocar la linea de transmision en alto
call Delay ;llamar retardo 1 bit -bit de parada-
retlw 0
;Fina de la subrutina enviar
;****************************
;Inicio del programa
Inicio bsf status,5 ;pasa al banco alto
movlw b"00000000" ;configuro puerto a completo como salida
movwf PORTA
movlw 0xFF
movwf PORTB
bcf Optionr,7 ;activa las resistencias internas de pull up
bcf status,5
bsf PORTA,TX ;colocar la linea de transmision en alto
movf PORTB,w ;cargar el dato binario en w
call Enviar ;llamar a la subrutina enviar
goto Inicio
;Fin del programa principal
;*****************************
end
Acuerdense que NADIE NACIO SABIENDO............