Irgendwie habe ich ein Verständnisproblem mit Makros.
Um das Programm etwas lesbarer zu machen, habe ich ein kleines Makro drin.
Ich habe hier mal nur die relavanten Programmteile aufgeführt, da das komplette Programm schon relativ umfangreich ist und nur verwirren würde. Außerdem ist es noch nicht fertig.

Code:
;*** Konstantendefinition ***
...
.equ rot	= 0				;Indexnummern der Farben
.equ gruen	= 1
.equ blau	= 2
...

.cseg
...

;-------------------------------------------------------------------------
;Macro zum Eintragen der Farbabfolge

.macro Farbfolge
	ldi	temp1,@0
	ldi	temp2,@1
	ldi	temp3,@2
.endmacro
;
;-------------------------------------------------------------------------
;******* Subroutinen *************
...
...

;Daten aus dem Makro werden in die Programmabfolge eingetragen
;
Prog_Daten_speichern:
	st		Z+,temp1						;die Indexe der Farben in der 
	st		Z+,temp2						;Programmsteuerung nacheinander ablegen
	st		Z+,temp3
	ldi	temp1,255					;zuletzt eine Endekennung
	st		Z+,temp1
	ret
;
...
...
;-------------------------------------------------------------------------
;******* Hauptprogramm *************
	...
	...
;
programmdaten_eintragen:
	ldi	ZL,low(Tabelle)				;Zeiger auf erstes Programmmodul
	ldi	ZH,high(Tabelle)
	
	Farbfolge rot,gruen,blau
	rcall	Prog_Daten_speichern

	Farbfolge gruen,rot,blau
	rcall	Prog_Daten_speichern
	...

;-------------------------------------------------------------------------
;******* Datenbereich **************
.dseg
;Tabelle der Adressen für die einzelen Farbmodule
;Aufruf:
;in Y ist die Adresse des Farbindexes der abgearbeitet werden soll
;in Z ist die Adresse des Programmmoduls, das abgearbeitet werden soll
;
Tabelle:
;Programmsteuerung
Prog0:					;Reihenfolge: r,g,b
.byte 4					;255 ist Endekennung
Prog1:					;Reihenfolge: g,r,b
.byte 4	
...
Nach den Instruction Set's sollte diese Konstruktion eigentlich funktionieren. Nun bin ich etwas ratlos und hoffe auf einen Hinweis. Die Fehlermeldung erzählt mir was von einem unbekanntem Makro sowohl bei 'Farbfolge' als auch bei 'rot' und mit den Kommas meckert der Assembler auch noch rum. Nun frage ich mich, wie mache ich denn das Makro bekannt? Es ist doch definiert, genau wie es im "AVR Assembler User Guide" beschrieben wird.

Das "AVR Assembler User Guide", das ja von Atmel stammt, ist für eine Anleitung auch sehr dürftig und damit keine große Hilfe für Einsteiger. Auf die Befehle geht dieses Tutor so gut wie garnicht ein.

Alles andere, was sich als Tutorial bezeichnet, plappert mehr oder weniger aus den Befehlsinstruktionen nach und geht nicht weiter auf die einzelnen Befehle ein, ist also auch nicht gerade sehr hilfreich und wenn, dann nur auf ganz einfachem Niveau.

mfg Roger

Edit:
Hat sich erledigt. Ich hatte das Makro erst nach seiner ersten Benutzung definiert. War mir garnicht aufgefallen.
Sorry für den Schnellschuß.