Кстати, та же самая проблема при работе с RAM: когда считываю даже пустой байт, все равно выдает 0хff... Задаю данные так:
.dseg
.org 0x60
.db 65,84,83,48,70,61,70,70,70,70,13
Читаю и передаю так:
; Ïîäïðîãðàììà ïåðåäà÷è êîìàíäû ïî UART'ó
transmit:
sbi UCSRB, TXEN ; âêëþ÷èòü ïåðåäàò÷èê
sbi UCSRA, UDRE ; ïîäíÿòü ôëàã USART Data Register Empty
wait_for_tr:
sbis UCSRA, UDRE
rjmp wait_for_tr
nop
ld temp, X+ ; ïðî÷èòàòü äàííûå èç RAM â ïåðåìåííóþ temp
tst temp ; åñëè êîìàíäà çàêîí÷èëàñü, òî íà âûõîä
; cpi temp, 0xff
breq transm_out
; cpi temp, 65
; breq fl
fl_out:
out UDR, temp ; îòïðàâèòü äàííûå â UART
rjmp wait_for_tr ; âåðíóòüñÿ â íà÷àëî äëÿ ïåðåäà÷è ñëåäóþùåãî ñèìâîëà
transm_out:
; sbi PORTC, led
cbi UCSRB, TXEN ; âûêëþ÷èòü ïåðåäàò÷èê
ret
;fl:
; sbi PORTC, led
; ldi r18, 0xff
;on:
; tst r18
; breq off
; nop
; nop
; nop
; dec r18
; rjmp on
;off:
; cbi PORTC, led
; rjmp fl_out
Закоментаренное использовалось для отладки. Лампочка (PORTC, led) по метке fl ниразу не зажглась. Что я не так делаю???