Grundlagen Informatik - 19: MIPS32 Simulator, Multiplikation, Hi Lo Register Assemblersprache chriss code support https://www.youtube.com/watch?v=ghtD2p2CXYY Transkript (automatisch erstellt) 0:00 dieser Simulator unterstützt keine pseudobefehle die Begründung auf der Entwicklerseite finde ich recht gut und das zweite was man hier benötigt 0:11 ist eben eine Liste die alle MIPS 32 Befehle enthält wir wollen ein Programm schreiben das als erstes einen Wert in das Register T1 einträgt und da gibt's 0:22 verschiedene Möglichkeiten eben z.B ein pseudobefehl könnte man verwenden aber nicht hier sondern ich verwende stattdessen den add immediate Befehl und 0:32 der speichert in einem Register die Addition von einem Register mit einem direkten Wert ich möchte dass das Ganze im Register Dollar T1 steht dazu addiere 0:45 ich das Register z.B 0 mit der Zahl 156 und diese Summe wird dann in Register T1 stehen dasselbe Schema kann 0:55 ich dann für Register T2 verwenden und anschließend sollen wir den Wert der 1:04 beiden Register die Werte die in diesen beiden Registern stehen multiplizieren dafür verwende ich dann 1:13 den Befehl Multiplikation und das Ergebnis sollen wir dann in Register t0 schreiben ich 1:24 habe jetzt hier nur zwei Register definiert bei der Multiplikation und warum habe ich keine Register angegeben indem das ganze gespeichert wird das 1:33 liegt daran dass bei der Multiplikation das Ergebnis länger sein kann größer sein kann als wir es mit 32 Bits abspeichern deswegen würde mir ein 1:43 Register als zielregister für den Speicherplatz das Ergebnis gar nicht reichen daher gibt's hier zwei Register das 1:53 Register High Low die zählen nicht zu den 32 Registern die für uns verfügbar sind diese Register könnte man sagen sind wir können nur mit Befehlen drauf 2:05 zugreifen wir können da keinen Wert drin speichern direkt und da wird eben das Ergebnis dieser Multiplikation gespeichert während in laow der untere 2:16 Teil der binärdarstellung ist und im High quasi der größere Teil der binärdarstellung mit dem höheren Stellenwert schauen wir uns das Ganze an 2:28 dafür wollen wir erstmal auf die T1 T2 achten die sind jetzt noch auf Null gesetzt da kann man auch immer hier den Computer neu starten bei Tools oder hier 2:36 bei Registers die Register selbst zurücksetzen und dann führen wir das Programm aus Schritt für 2:54 Schritt Zeh das Ergebnis benötigt nur die Bits die in lau stehen also das Ergebnis ist nicht so groß dass es 32 Bits oder mehr benötigt und jetzt 3:04 möchten wir diese Zahlen noch in das Register t0 speichern und das mache ich mit dem Befehl move from 3:28 low