An PB eines ATtiny2313 mit 1MHz Systemtakt soll nach Druck auf eine Taste an PD0 eine Folge von Mustern nacheinander auf der LED-Zeile ausgegeben werden.
Die LED leuchten bei log. 0 (neg. Logik)
Die Zeit zwischen den Mustern (200 ms) soll mit Warteschleife realisiert werden.
Die Musterfolge wird am Ende des Programms im Programm-Speicher abgelegt und mit indirekter Adressierung ausgelesen:
muster: ; Muster in den Programmspeicher .db 0, 0b10000001, 0b01000010, 0b00100100, 0b00011000,0 musterEnd: ; Endemarke .db 0
Eine Schwierigkeit besteht darin, zu erkennen wann die Musterfolge zu Ende ist. Drei mögliche Strategien sind denkbar:
Bei einem besonderen Symbol z.B. 0 ist die Liste zu Ende vgl. C-Strings -ausgeben bis 0 kommt
Eine Marke wird nach der Liste gesetzt und der Zeiger auf die Liste mit dieser Marke verglichen (die hier gewählte Lösung)
Ein Zähler läuft mit und ein Vergleich mit der Länge der Liste (musterEnd-muster) *2