ldi r16,0b11111111
;r16=0xFF
swap r16
;immer noch r16=0xFF
andi r16, 0b00001111
;r16=0x0F

lol... was bringt das bitte?
dann würde ich mal ins Datenblatt gucken (genau! rtfm!) und feststellen dass das teil für jeden befehl ne verarbeitungszeit hat. ne ziemlich lange. schreib dir also ne schöne nop-schleife. dann schickst du erstmal ne initialisierung hin (steht auch im datenblatt), und dann erst darfst du anfangen zeichen hinzuschicken.
PS: für Sourcecode gibts nen BBCode Befehl!

mfG

cht