Ich hab es schon. Man sollte die passenden Sprünge zu Anfang nutzen.
Also, anbei die Version die funktioniert.

Code:
;Im Sekunden Takt die LED's am Port D Schalten
;Quarz hat 3,6864MHZ
.include "m8def.inc"	;Definitionsdatei laden
.cseg					;Beginn eines Code-Segmentes
;
;
.def temp = r16
.def counter = r17
.def leds = r18
.equ start = 256-122
.equ loops = 30		;für genau eine Sekune 29,5081
;
.org   0x000   
   	rjmp	reset	;1 Reset Handler
	reti			;2 IRQ0 Handler
	reti			;3 IRQ1 Handler
	reti			;4 TC2 Compare Match
	reti			;5 TC2 Overflow
	reti			;6 TC1 Capture
	reti			;7 TC1 Compare Match A
	reti			;8 TC1 Compare Match B
	reti			;9 TC1 Overflow
	rjmp	timer0
	;reti			;10 TC0 Overflow
	reti			;11 SPI Transfer Complete Handler
	reti			;12 UART RX Complete 
	reti			;13 UART Data Empty 
	reti			;14 UART TX Complete 
	reti			;15 ADC Conversion Complete Interrupt Handler
	reti			;16 EEPROM Ready Handler
	reti			;17 Analog Comparator Handler
	reti			;18 TWI I²C Serial Interface
	reti			;19 Store Program Memory Ready

reset:
	ldi		temp,LOW(RAMEND)			;temp auf letzte Position im RAM setzen
	out		spl,temp					;LB vom SP mit LB vom Ramende
	ldi		temp,HIGH(RAMEND)			;temp auf letzte Position im RAM setzen
	out		sph,temp					;HB vom SP mit HB vom Ramende

	ldi		temp,0xff
	out		ddrd,temp			
	ldi		temp,0b00001111
	out		portd,temp
		
	ldi		temp, 1						;Interrupt on Overflow
	out		TIMSK, temp

	ldi		temp, 0b00000101			;alle 1024 Takte wird der Zähler 
	out		TCCR0, temp					;vom Timer0 um 1 inkrementiert

	ldi		temp, start					;Bis der Zähler überläuft vergehen
	out		TCNT0, temp					;122 * 1024 Takte = 124928
										; = 0,033889 sekunden

	ldi		counter, loops
	ldi		leds,0xff
	
	sei

main:
	loop:
			rjmp	loop
;-------------------------------------
timer0:
	dec		counter
	brne	restart
		ldi		counter, loops
		com		leds
		out		portd, leds
	restart:
		ldi		temp, start
		out		tcnt0,temp
reti