Hi VAJK!
Kann dass so stimmen?

#include <m8def.inc>

ldi R16, 0xff ;In R16 Wert 0xff laden
ldi R17, 0x01 ;In R17 Wert 0x01 laden
ldi R24, 0x02 ;In R24 Wert 0x02 laden
ldi R21, 255 ;In R21 Wert 255 laden
ldi R23, 0b00000010 ;In R23 Wert 0b0000010 laden
ldi R24, 0b00000100 ;In R24 Wert 0b00000100 laden

Start:
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Start) überspringen
rjmp Start ;Springe zu Start

Einmal:
out PORTC, R23 ;Ausgabe an PORTC, R23
in R18, PINC ;Schreibe in R18 PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Einmal) übersrpingen
rjmp Einmal ;Springe zu Einmal
cbi PINC, 0x00 ;Alle Bit´s in PINC löschen
rjmp Zeitschleife ;Springe zu Zeitschleife

Zweimal:

out PORTC, R24 ;Ausgabe an PORTC, R24
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleiche R17 mit R18. Wenn gleich nächsten Schritt (rjmp zweimal) überspringen
rjmp Zweimal ;Springe zu Zweimal
rjmp Einmal

Zeitschleife:
inc R20 ;erhöhe R20 um 1
cpse R20, R21 ;Vergleiche R20 mit R21
rjmp Zeit ;Springe zu Zeit
inc R22 ;erhöhe R22 um 1

Zeit:
sbrs R22, 0x05 ;Vergleiche R22 mit 0x05. Wenn gleich nächsten Schritt (rjmp Abfrage) überspringen
rjmp Abfrage ;Springe zu Abfrage
cbr R22, 0x20 ;Lösche alles in R22
rjmp Einmal ;Springe zu Einmal

Abfrage:
in R18, PINC ;Schreibe in R18, PINC
cpse R17, R18 ;Vergleioche R17 mit R18. Wenn gleich nächsten Schritt (rjmp Zeitschleife) überspringen
rjmp Zeitschleife ;Springe zu Zeitschleife
cbi PINC, 0x00 ;In PINC alle Bit´s löschen
cbr R18, 0x01 ;Lösche alles in R18
rjmp Zweimal ;Springe zu Zweimal