robo_wolf,

ich fürchte, in Deinem zweiten Posting hast Du Dich ein bisschen vergaloppiert . Dein erstes Posting (Heute, 14.05. um 09:30) bezieht sich auf Zeile 122 Deines Moduls "FIFO8.asm"
Code:
...
FIFO8_CREATE:
...
; FIFOkapazität speichern
	std z+FIFO8_CTRL_CAP,r16	; Kapazität speichern
; WRADR und RDADR auf Anfang setzen; ANFADR und ENDADR in RAM schreiben
    mov xl,zl
	mov xh,zh
	adiw xh:xl,FIFO8_CTRL_LNG ; FIFO-Steuerung ueberspringen - auf erstes FIFO-Byte zeigen
    std z+FIFO8_CTRL_WRADR_LOW,xl
    std z+FIFO8_CTRL_WRADR_HIGH,xh
    std z+FIFO8_CTRL_RDADR_LOW,xl
    std z+FIFO8_CTRL_RDADR_HIGH,xh
;
    std z+FIFO8_CTRL_ANFADR_LOW,xl
    std z+FIFO8_CTRL_ANFADR_HIGH,xh
; !!! ACHTUNG:
    adiw xh:xl,FIFO8_CAP ; ENDADR berechnen

; Über diese Zeile beschwert sich der Assembler, wenn FIFO8_CAP
; grösser als 64 ist. Deshalb musst Du sie durch
   ldi r16,FIFO8_CAP
   add xl,r16
   clr r16
   adc xh,r16
; ersetzten. Dann klappt's auch mit Kapazitäten > 64. 
   ...
Das Problem Deines zweiten Postings verstehe ich nicht. Natürlich darf FIFO_CAP grösser als 64 sein! Du musst nur zum Berechnen von ENDADR eine anderen Weg gehen (siehe oben) !

Ciao,

mare_crisium