Theoretische und technische Informatik - ganz praktisch - Letzte Fragen & Antworten in 2011-N-10 https://info2.aifb.kit.edu/qa/index.php?qa=qa&qa_1=2011-nachklausur&qa_2=2011-n-10 Powered by Question2Answer Beantwortet: a): ausführliche Erklärung? https://info2.aifb.kit.edu/qa/index.php?qa=2992&qa_1=a-ausf%C3%BChrliche-erkl%C3%A4rung&show=2993#a2993 <div class="ilFrmPostContent"> <p> Meiner Meinung nach ist die Musterlösung korrekt. Die "JNZ-Schleife" wird, wie du richtig erkannt hast, x-mal ausgeführt. In der "Schleife" stehen 3 Befehle:</p> <p> MULTIPLY R1, R2, R2<br> MULTIPLY R2, R1, R2<br> SUBTRACT R3, #1, R3</p> <p> Der letzte dekrementiert nur die "Schleifenvariable" r3, aber der erste speichert r1*r2 in r2 ab. Der zweite Befehl berechnet r2*r1 und speichert das ergebnis ab. Setzt man jetzt den Wert, der r2 im ersten Befehl zugewiesen wird, in den zweiten ein, sieht man, dass der Wert r2*(r1^2) in r2 gespeichert wird, d.h. r2 wird mit r1^2 multipliziert. Nach dem ersten Durchlauf steht in r2 also y*x^2. Im nächsten Durchlauf wird dieses Zwischenergebnis nochmal mit r1^2 = x^2 multipliziert, also steht danach y*x^2 * x^2 in r2 usw. Insgesamt steht also nach dem letzten Durchlauf y*((x^2)^x) =y*x^(2*x) in r2. Mit dem letzten ADD-Befehl kommt man auf die Musterlösung.</p> <p> Tobias (Tutor)</p> </div> <p> &nbsp;</p> 2011-N-10 https://info2.aifb.kit.edu/qa/index.php?qa=2992&qa_1=a-ausf%C3%BChrliche-erkl%C3%A4rung&show=2993#a2993 Tue, 29 Sep 2015 09:15:05 +0000