Можно так делать:
Код
/* Процедура одиночной передачи байта
in : reg_data */
USART_send:
sbis UCSR1A,UDRE1 ; ожидание очистки буфера передатчика
rjmp USART_send
out UDR1,reg_data ; Загрузить байт данных в буфер, начать передачу
sbi UCSR1A,TXC1 ; очитска TXC
ret // USART_send
in : reg_data */
USART_send:
sbis UCSR1A,UDRE1 ; ожидание очистки буфера передатчика
rjmp USART_send
out UDR1,reg_data ; Загрузить байт данных в буфер, начать передачу
sbi UCSR1A,TXC1 ; очитска TXC
ret // USART_send
?
или нужно сначала прочитать регистр, установить этот бит в 1 и записать обратно?