DEV-TRONIC.de

Z80 – Warteschleife

Die Warteschleife ist zwar eine Sünde, da sie den Prozessor im Kreis herum schickt und wertvolle Rechenzeit vergeuden lässt. Aber in vielen Situationen ist man auf eine Warteschleife angewiesen um das Timing für Signale zu erreichen oder um Geschehnisse beobachten zu können, die bei voller Geschwindigkeit nicht nachvollziehbar wären.

Ausgehend von einem Prozessortakt von 4MHz sieht das wie folgt aus:

Das macht im Beispiel 2,5 µs für das Laden des Registers BC. Dann 35 µs pro Schleifendurchlauf. Die Anzahl der Durchläufe wird vom Inhalt des Registers BC bestimmt. Der letzte Durchlauf benötigt 1,5 µs weniger Zeit, da die Schleife verlassen wird. Die Wiederherstellung des Registers BC auf seinen ursprünglichen Wert benötigt noch einmal 2,5 µs. Je nach Programmaufbau ist das aber evtl. nicht erforderlich. Und wenn die Schleife als Unterprogramm definiert ist, benötigt der Befehl RET auch noch einmal 2,5 µs.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.