Ich glaube wirklich, daß es ein Tutorial wird....

OK, mit Interrupts hast Du noch keine Erfahrungen, naja, aber jetzt.

Und dann springt er ja zur loop
Das habe ich schonmal gesagt, er springt nicht sondern, nachden die letzte Zeile in reset abgearbeitet wurde, geht er zur nächsten, die einfach nur loop heiß

und wartet bis ich den Taster drücke und springt dann in den Interrupt zeitum.
Nein so geht es nicht ab.

loop ist ja meine Hauptschleife, dort arbeitet das Programm schön Zeile für Zeile ab.
Den Timer habe ich auf etwa 26 mS eingestellt, das heißt wenn 26 mS um sind,
wird ein Interrupt ausgelöst und dann springt er in zeitum: rein.
Dort wird nachgeschaut, ob Taster Low ist, wenn nicht, verläßt er zeitum: wieder und
geht an die Stelle im Programm zurück, wo er durch den Interrupt unterbrochen wurde.

Das Programm wartet nicht auf die Taste !!!
Es ist ihm egal ob Sich da was tut oder nicht, es macht munter seine Arbeit(naja in meinem Beispiel springt nur zwischen loop und rjmp loop hin und her) es wird einfach nur alle 26mS abgebrochen.

Wenn ich das richtig verstanden habe, ist das sone Art Standardcode, den man oben beim "reset" einfügt
Naja Standard, weiß nicht es sind immer die gleichen Register, die vorbelegt werden müssen.

sodass dann bei jedem Interrupt eine bestimmte Zeit gewartet wird?
Es wird nicht gewartet, jetzt müßtest Du das verstehen(sehe oben)

TCCR0, TIMSK, TCNT0
Ja, davon gibt es noch mehr(der Mega hat 3 Timer), sehe link von mir

Und was hat das 255-254 genau zu bedeuten
Der Timer läuft bei 255 über und verursacht einen Timer Overflow Interrupt(zeitum: sehe
.org OVF0addr
rjmp zeitum) oder DattenBlatt
ich habe mir ausgerechnet, daß er genau 254 mal hochzählen muß, bevor er überläuft,
dann ist es einfacher zu schreiben 255-254)

klaro?

Gruß Sebastian