Registermaschine/Bedingter Sprungbefehl/Inhalt/Aufgabe/Lösung


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.