Möchte einen einfachen Timer programmieren - habe auch schon im TimerTutor und AtmelDatasheet nachgeschaut.

Nutze ich Timer1, dann gehts - folgender Code mit Timer 0 funzt nicht?!
Code:
.include "m8def.inc"	;Definitionsdatei laden
.cseg					;Beginn eines Code-Segmentes
;
;
.def temp = r16
.def counter = r17
.def leds = r18
.equ start = 256-1
.equ loops = 0
;
.org   0x000   
   	rjmp	reset	;Reset Handler
	reti			;IRQ0 Handler
	reti			;IRQ1 Handler
	reti			;Timer1 Capture Handler
	reti			;Timer1 compare Handler
	reti			;Timer1 Overflow Handler
	rjmp	timer0
	;reti			;Timer0 Overflow Handler
	reti			;SPI Transfer Complete Handler
	reti			;UART RX Complete Handler
	reti			;UDR Empty Handler
	reti			;UART TX Complete Handler
	reti			;ADC Conversion Complete Interrupt Handler
	reti			;EEPROM Ready Handler
	reti			;Analog Comparator Handler

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
	out		TIMSK, temp

	ldi		temp, start
	out		TCNT0, temp

	ldi		temp, 0b00000101
	out		TCCR0, temp

	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