Selber herrausfinden bringt wohl mehr, aber ich komm da ja nun gar nicht klar. Hier mal mein Code:
Wie man sieht, sieht man nichts *g*Code:;Programm ;CDurTonleiter rauf und runter spielen .include "m8def.inc" .def tmp = r16 ;Mein Universallregister .org 0x000 rjmp reset ;Interruptvektor "reset:" reset: ;Stack einrichten ldi tmp, HIGH(RAMEND) ;HIGH-Byte der obersten RAM-Adresse out SPH, tmp ldi tmp, LOW(RAMEND) ;Low-Byte der obersten RAM-Adresse out SPL, tmp ldi ZH, HIGH(daten2 * 2) ldi ZL, LOW(daten2 * 2) lpm sei ;Interrupts zulassen loop: adiw ZL,1 lpm ST Z,tmp rjmp loop ;immer wieder zu "loop:" springen daten1: .dw 65535 , 0 ;zwei Words daten2: .db "Hallo!" ;immer eine gerade Anzahl an Bytes
Ich versteh das nicht mit dem Programmspeicher und dem Z-Register und dann muss ich das Z-Register um 1 erhöhen und wieder auslesen und und und...
Vor allem, wozu brauch ich unten zwei Labels mit daten?







Zitieren

Lesezeichen