Hallo,

kann man durchaus mit einem Timerinterrupt machen, ist wahrscheinlich die elegantere Lösung.
Aber das richtige Polling Verfahren ist wenn der Pin z.B über den Befehl sbic abgefragt wird das würde so aussehen

Start: sbic pind,0 pd0=0?
jmp Start wenn pd0=0 wird der jmp befehl übersprungen.
hier kann man den Taster noch mit einer Zeitschleife ausbremsen.

Die ganz alte Methode wäre das aus maskieren, das würde so aussehen

Start: in r16,pind das Eingansgangslatch an Portd einlesen
andi r16,0x01 jetzt wird pd0 ausmaskiert d.h alle Bits bis auf pd0 werden durch die Undverküpfung gelöscht,
breq start
hier gehts dann weiter


aber wie gesagt das mit dem Timerinterrupt ist die elegantere Lösung, weil das Programm nicht durch die Abfrage ausgebremst wird.
Das Pollingverfahren kann man nicht nur bei Tasterabfragen verwenden sondern auch bei Abtastungen von Signalen.
Der große Nachteil dieses Verfahrens ist, dass der Programmzähler in der Polling-schleife hängt bis die Bedingung erfüllt ist.

mfg ihle