Ich habe mal in groben umrissen geschrieben wie ich mir das ungefähr
gedacht habe :

Code:
=======================================================
.equ string1=0x0060    ;+12 Byte
.equ string2=0x006c    ;+12 Byte
.equ string3=0x0078    ;+12 Byte
.equ string4=0x0084    ;+12 Byte

.def temp1,r16
.def str,r18

loop:
;(jetzt irgendwas an befehlen)
rjmp loop

dat1s:        ;Byte in den ram legen
  ldi yh,high(string1)
  ldi yl,lowe(string1)
  st y+,temp1
  ret

dat1l:        ;Byte aus den ram holen
  ldi yh,high(string1)
  ldi yl,lowe(string1)
  ld y+,temp1
  tst t1mp1
  breq out_end
    rjmp lcd_out

out_end:
sbrc str,0
ret
===================================================================
Das str Register ist nur da damit man weiß wann es etwas zu tun gibt.
Das was ich mir denke ist:
ich schreibe die variable in den ram (string1) und setze bit0 von str
auf 1 wenn alles im ram ist. danach würden die Daten nacheinander an das
LCD übergeben werden, nach jedem byte geht es dann erstmal wieder in das
Hauptprogramm usw. wen dann alles Übertragen wurde setze ich bit0 von
str wider auf 0 . so spare ich mir das warten bis ich das nächste byte
senden kann.

p.s. Wen das nicht so geht (der code komplett falsch ist ) dann wäre ich
sehr froh wen ihr mir helfen würdet!!![/code]