Grundlagen Informatik - 20: Schleife in Assembler MIPS32 beq / Labels chriss code support https://www.youtube.com/watch?v=Vof3CwvFgIY Transkript (automatisch erstellt) 0:00 um in Assembler eine schleifenanweisung zu erstellen schauen wir uns die erst kurzen c-shop an wir wollen alle Zahlen von 1 bis 100 zusammen addieren 0:23 und erhalten anschließend diesen Wert nun möchten wir dasselbe in Assembler umsetzen dafür ist es ganz hilfreich dass allerdings von einer vorschleife 0:32 erstmal in einer ganz andere while Schleife zu übersetzen nämlich eine die dann dem Assembler Code möglichst ähnlich ist 0:55 ja keine Ahnung wie die Go2 Anweisung in sie scharf funktioniert aber ich schätze mal dass es ein gutes Ding 1:17 und wir halten dieselbe Summe letztendlich wie gesagt jetzt haben wir das ganze in der wildschleife die dauerhaft wahr ist das schaut sehr 1:23 ungewöhnlich aus ist kein Mensch würde das intuitiv so wahrscheinlich in sie scharf schreiben wir setzen das ganze jetzt einmal nach Sampler um 1:37 und das nächste was wir jetzt kennenlernen sind Labels Labels sind genauso wie in sie Sharp gerade eben Marken die wir im Code setzen können um 1:46 dorthin zu gehen und die schreiben wir einfach mit einem Begriff und beenden das mit einem Doppelpunkt und dann wird das Ganze als 1:53 Label interpretiert zuerst brauchen wir doch unsere Startwert wir haben natürlich keine Variablen hier zur Verfügung stattdessen behelfen wir 2:14 uns mit einem Register dafür müssen wir das jetzt nicht so wie die Sonne initialisieren 3:24 wir testen das ganze und achten dafür eben auf die Register t0 T1 und vor allem S0 interessiert uns am Ende 3:36 nach dem ersten Durchlauf haben wir eins dann drei dann sechs das schaut doch ganz gut aus dann gehen wir jetzt mal bis zum Ende des Programms 3:56 und wir haben letztendlich in Register S0 dann dieselbe Summe stehen wie zuvor in sich scharf 5.0 4:06 in den Zahlen 17 und 18 initialisieren wir die notwendigen Werte hier haben wir dann ein Loop Label zu dem springen wir jedes Mal wenn die 4:16 Zeile hier wenn der Code hier in Zeile 23 landet und als erstes überprüfen wir hier ob wir die Schleife überhaupt noch mal durchlaufen wollen Brunch equal also 4:27 falls diese beiden Werte identisch sind wird zu diesem Label gesprungen also zu der Anweisung hier unten die unseren Code dann sozusagen beendet und falls 4:37 diese Register nicht den gleichen Wert besitzen wird werden eben hier die beiden Additionen durchgeführt