PPT-Folie
Allgemeine Systeme von Prozeduren können daher nicht direkt in Sprungform gebracht werden: Da eine Prozedur von vielen Stellen aus aufgerufen werden kann, müsste jeder ihrer Terminierungszweige Sprünge an verschiedene Programmstellen enthalten. Das Problem wird so gelöst:
- In Maschinensprache bedeuten Marken die Anfangsadressen der ersten Befehle der markierten Anweisungen. Sie können, wie andere Adressen auch, gespeichert werden.
- Beim Übersetzen eines Prozeduraufrufs werden daher Befehle erzeugt, die die Adresse der Fortsetzungsstelle abspeichern.
- Die Übersetzung des Prozedurrumpfs erzeugt dann am Ende einen Rückkehrsprung auf diese Adresse.