Willkommen! Einloggen Ein neues Profil erzeugen

erweitert

Zuweisungen mit Konstanten

geschrieben von PascalW 
Zuweisungen mit Konstanten
12.12.2020 15:31:57
Hallo!

Ich habe mich gerade gefragt was passiert wenn man z.B.

x = 1;

in ReTi übersetzen möchte. Muss man sich dort strikt an die Zuweisung aus der Vorlesung orientieren? Die würde ja die 1 zuerst auf den Stack schreiben und dann in x speichern. Da mir das sehr mühsam vorkommt folgende Frage: Kann man diesen Schritt auch weglassen und einfach

LOADI ACC 1
STORE ACC a // a ist Adresse von x im Datensegment
benutzen ?

Mit freundlichen Grüßen,

Pascal



1 mal bearbeitet. Zuletzt am 12.12.2020 15:32 von PascalW.
Re: Zuweisungen mit Konstanten
13.12.2020 14:59:08
Hallo,

Sie sollten sich strikt an die Zuweisung aus der Vorlesung halten. In der Vorlesung wurde es so festgelegt, dass der Übersetzer Zuweisungen nach dem in der Vorlesung dargestellten Vorgehen übersetzt. Das ist insofern auch hilfreich, dass man ein möglichst generelles Schema zur Übersetzung von Ausdrücken, Zuweisungen, etc. hat, dass sich auf möglichst alle Fälle anwenden lässt.

Ihr beschriebener Fall ist natürlich eine korrekte Optimierung zur Compile Zeit der einfachen Zuweisung "x=1;". Moderne Compiler führen natürlich auch eine ganze Reihe an Optimierungen durch. Aber wir wollen in der Vorlesung nur das Grundprinzip vermitteln, wie ein Übersetzer funktioniert und gehen nicht auf fortgeschrittenere Methoden wie Optimierungen ein.

Da wir in der Übung auch sehen wollen, inwieweit Sie den Inhalt aus der Vorlesung verstanden haben, sollen Sie sich bitte bei der Übersetzung in ReTI Code an das Schema aus der Vorlesung halten

Viele Grüße
Sorry, in diesem Forum dürfen nur registrierte Benutzer schreiben.

Hier klicken, um sich einzuloggen