Ich habe hier zwei Aufgaben. 1: Schreiben Sie ein MIPS-Assembler-Programm f¨ur den Simulator SPIM S20, das die Bin¨ardarstellung der 32Bit langen Zahl ausgibt, die im Register $a3 steht. Hinweis: F¨ur diese Aufgabe soll es egal sein, ob Sie die Ausgabe mit dem niederwertigsten oder mit dem h¨ochstwertigsten Bit anfangen. Machen Sie die Reihenfolge kenntlich. Bei der habe ich keinen Schimmer wie ich das machen soll. 2: Schreiben Sie ein MIPS-Assembler-Programm f¨ur den Simulator SPIM S20, das auf verschiedene Weise auf ein Array im Hautpspeicher zugreift. Reservieren Sie sich zun¨achst den n¨otigen Speicherplatz im Data-Segment unter dem Namen Feld mit der Anweisung: Feld: .space 884 Sie haben jetzt 884 Byte im Speicher mit dem Namen Feld angelegt. Sprechen Sie diese Speicherstellen jetzt wie ein Array vom Typ word mit 221 Eintr¨agen an. F¨ullen Sie jedes dieser Elemente mit dem Wert seines Index von einschliesslich i = 0 bis einschliesslich i = 220. Sprechen Sie nun denselben Speicherbereich (Feld) wie ein 2-dimensionales Array mit 17 Zeilen und 13 Spalten an. Addieren Sie die Inhalte von allen Zellen, deren Indizes x = y sind, und geben Sie die Summe aus. Hier habe ich das Array schon, jedoch weiß ich nicht wie ich die Summe ausrechnen kann. Meine Lösung scheitert an den 2 Dimensionen.
Hier steht alles drin, was Du wissen mußt: http://www.mobile.informatik.uni-muenchen.de/Vorlesungen/ss00/tgi/doku/Spim_Tutorial.pdf Hausaufgaben werden im Übrigen hier nicht für Andere gemacht, ist auch nicht Sinn der Sache. Zumal Deine Aufgaben sehr einfach sind.
>Hier habe ich das Array schon, jedoch weiß ich nicht wie ich die Summe >ausrechnen kann. Meine Lösung scheitert an den 2 Dimensionen dann hast du ja verstanden was die Anweisung .space 884 heisst Wie mache ich aus einem 1-dimensionalen Feld ein 2-dimensionales? Ich greife anders zu. 1-dimensional Parameter: element Adresse=((element)*Elementgröße) + Startadresse deines Feldes 2-dimensional Parameter Spalte,Zeile Adresse=(Zeile*(Spaltenanzahl des Feldes)+Spalte)*Elementgröße +Startadresse deines Feldes Solltest du irgendwelche Fehler in diesen Ausführungen entdecken, so ist das ein Indiz, dass du es verstanden hast...
Also ich hänge gerade an einer ähnlichen Aufgabe wie (1), und zwar scheitere ich dabei die einzelnen Bits aus dem Speicher auszulesen... gibt es da einen komfortablen weg?! Oder muß ich so lange hin und herschieben bis ich sie habe!?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.