Wir arbeiten mit den
Programmzeilen
(in relativer Nummerierung)
-
-
-
-
-
-
-
-
-
-
Das Programm reduziert also höchstens
-mal den Registerinhalt von
um
. Wenn der Registerinhalt von
am Anfang kleiner als
ist, so wird dieser Registerinhalt in weniger als
Schritten geleert
und in diesem Fall landet man durch einen der bedingten Sprungbefehle

unmittelbar hinter dem Programmabschnitt. Wenn der Registerinhalt von

am Anfang gleich

ist, so wird der Registerinhalt genau im Befehl

geleert und in diesem Fall wird man im letzten Befehl zum Befehl

geleitet. Wenn der Registerinhalt von

am Anfang größer als

ist, so wird der Registerinhalt bis zum Befehl

nicht geleert und in diesem Fall wird man im letzten Befehl unmittelbar weitergeleitet. Das Programm leistet also das Gewünschte.