Zitat Zitat von thewulf00
D.h. er kopiert erst R5 in sein temporäres Register und vergleicht es dann. Kann man ihm irgendwie sagen, dass er gleich R5 vergleichen soll/kann?
Wulfi
Wie bereits erwähnt verlangt CPI ein höheres Register.
Prinzipiell ist die Idee gut, ein spezielles Register zuzuweisen, solange der Code übersichtlich bleibt. Allerdings habe ich keine Erfahrung, wie der Compiler dann reagiert, wenn es komplexer wird. Er produziert auch in Standardsituationen mal ineffizienten Code.
Was Du aber eventuell machen könntest (ich kenne den Rest des Codes nicht...), ist, die "Konstante" nicht als solche zu speichern, sondern in einem unteren Register zu halten. Dann könnte der Compiler nämlich den CP-Befehl verwenden und sich die Rumkopiererei sparen, weil er jetzt keine Imidiate benutzen muss. Außerdem bräuchte er dann kein zusätzliches Register zu retten, weil R5 mit der Konstante ja konstant bleibt.
Das ist die Theorie, würde mich mal interessieren, ob der Compiler die auch kennt...Ich bezweifele es geringfügig.
Gruß