Hallo

Ich habe in der Schule einen 80C535 programmiert. Da haben wir die Schleife mit dem Befehl djnz realisiert. Beim AVR hab ich die Schleife jetzt mit dem Befehl brne programmiert. Gibt es bei den AVR`s einen vergleichbaren Befehl wie der des 80C535? Wie ist das eigentlich? Brne heißt doch wörtlich übersetzt "Spring wenn nicht gleich" oder seh ich das Falsch. Also muß der Wert doch mit irgend etwas verglichen werden? Kann mir das jemand erklären?
Mein zweites Problem:

Ich habe folgende Schleife:
;Unterprogramm
warten:
ldi r16, 255
ldi r17, 100
ldi r18, 10
loop1:
dec r16
brne loop1
dec r17
brne loop1
dec r18
brne loop1
ret

Die werte mit denen die Register geladen werden habe ich durch außprobieren heraus bekommen. Schleife funktioniert. Aber wie kann ich jetzt die genaue Zeit berechnen, die der µC braucht für einen Durchlauf? Mein Board arbeitet mit 12 Mhz. Ich weiß, ist e bissel schnell, aber hab halt das gleiche genommen wie wir in der Schule hatten.

Vielen Dank schon mal für eure hoffentlich zahlreichen Versuche mir zu helfen.

MFG