Praktikum 2 - Eingabe
Praktikum 2 - Eingabe
Hallo,
ich bin mir nicht so ganz sicher was beim zweiten Praktikum wie implementiert werden soll.
Es werden insgesamt drei Algorithmen aufgeführt von denen die letzten beiden offenbar zusammengehören.
Als Eingabe wird laut Aufgabenstellung eine Gleitkommazahl mit doppelter Genauigkeit erwartet. Gilt das dann auch von den Heron-Algorithmus? Also soll die gleiche Gleitkommazahl durch beide Verfahren gehauen werden? Das Heron-Verfahren sieht nämlich stark nach Integereingaben aus.
ich bin mir nicht so ganz sicher was beim zweiten Praktikum wie implementiert werden soll.
Es werden insgesamt drei Algorithmen aufgeführt von denen die letzten beiden offenbar zusammengehören.
Als Eingabe wird laut Aufgabenstellung eine Gleitkommazahl mit doppelter Genauigkeit erwartet. Gilt das dann auch von den Heron-Algorithmus? Also soll die gleiche Gleitkommazahl durch beide Verfahren gehauen werden? Das Heron-Verfahren sieht nämlich stark nach Integereingaben aus.
-
- Mausschubser
- Beiträge: 57
- Registriert: 12. Okt 2009 14:18
Re: Praktikum 2 - Eingabe
Lesen Sie die Aufgabenstellung einfach noch einmal.
Re: Praktikum 2 - Eingabe
Falls noch jemand Verständnisprobleme mit der Aufgabenstellung hat:
http://www.student.informatik.tu-darmst ... /pa2-2.pdf
Ähnliche Aufgabe (nicht identisch
) und meiner Meinung nach etwas klarer formuliert.
http://www.student.informatik.tu-darmst ... /pa2-2.pdf
Ähnliche Aufgabe (nicht identisch

Re: Praktikum 2 - Eingabe
Mir ist die Aufabenstellung auch nach mehrerem Durchlesen noch unklar. Ich verstehe wie diese beiden Algos funktionieren, aber was ist mit "Unterprogrammen" gemeint? Sollen das zwei Dateien sein wo in jeder mit dem selben Programmrahmen ein einer der beiden Verfahren angewandt wird? Oder soll alles in einer Datei und mit Syscall am Anfang eine Auswahl welches Verfahren benutzt werden soll? oder soll man die irgendwie kombiniert anwenden?
Kleiner Tipp bitte, mir ist schon klar wie ich die Verfahren jedes für sich implementieren würde, aber ich hab einfach keine Ahnung wie das fertige Programm aussehen soll.
Kleiner Tipp bitte, mir ist schon klar wie ich die Verfahren jedes für sich implementieren würde, aber ich hab einfach keine Ahnung wie das fertige Programm aussehen soll.
-
- Mausschubser
- Beiträge: 57
- Registriert: 12. Okt 2009 14:18
Re: Praktikum 2 - Eingabe
Schreiben Sie ein Programm das eine Zahl (z.B. 42.0) einliest und in etwa folgende Ausgabe macht:
"Die Wurzel von 42.0 ist:
Heron: 6,4989234753745973453908475019435
Binsearch: 6,8910345982173459"
"Die Wurzel von 42.0 ist:
Heron: 6,4989234753745973453908475019435
Binsearch: 6,8910345982173459"
-
- Mausschubser
- Beiträge: 57
- Registriert: 12. Okt 2009 14:18
Re: Praktikum 2 - Eingabe
Ein Unterprogramm ist ja nur eine Marke, deren nachfolgender Code irgendwelche Werte in Übergaberegistern erwartet.
Re: Praktikum 2 - Eingabe
Vielen DankDaniel Mäurer hat geschrieben:Schreiben Sie ein Programm das eine Zahl (z.B. 42.0) einliest und in etwa folgende Ausgabe macht:
"Die Wurzel von 42.0 ist:
Heron: 6,4989234753745973453908475019435
Binsearch: 6,8910345982173459"

Re: Praktikum 2 - Eingabe
Wie lade ich denn immediate Werte in die $fX Register? Ich bekomme die Fehlermeldung "li.d directive cannot appear in text segment". Ich scheine also irgendwie auf fp-Operationen umschalten zu müssen oder wie geht das? Im Netz habe ich jetzt nur .set gefunden aber das scheint MARS zu ignorieren?!
Re: Praktikum 2 - Eingabe
Im Mars musst du dir die Werte in einen normalen Register schieben und dann mit mtc1 verschieben.
Re: Praktikum 2 - Eingabe
abbruch: .double 0.001
l.d $f10, abbruch
Funktioniert anscheinend auch. Dürfen wir das so benutzen? Reicht 10^-3 als Abbruchbedingung?
l.d $f10, abbruch
Funktioniert anscheinend auch. Dürfen wir das so benutzen? Reicht 10^-3 als Abbruchbedingung?
Re: Praktikum 2 - Eingabe
Code: Alles auswählen
mtc1 $t0, $f12
cvt.s.w $f12, $f12
Ansonsten kann man noch FP-Werte vorher definieren:
Code: Alles auswählen
.data
pi: .float 3.1415
.text
l.s $f2, pi
Saying that Java is nice because it works on all Plattforms is like saying that anal sex is nice because it works on all genders.
-
- Endlosschleifenbastler
- Beiträge: 161
- Registriert: 19. Apr 2008 21:02
Re: Praktikum 2 - Eingabe
Ich verstehe aber nicht, warum li.s nicht funktioniert. Ist doch in der Literatur überall so angegeben.
Und add.s $f0, $zero, $f0 funktioniert auch nicht.
Ich hau das ganze Ding gleich..!!!
nein, nur Spaß. Würd mich aber echt mal interessieren, warum das nicht geht. Liegt's an Mars?
Und add.s $f0, $zero, $f0 funktioniert auch nicht.
Ich hau das ganze Ding gleich..!!!

Re: Praktikum 2 - Eingabe
li.s ist in MARS schlicht nicht vorhanden, wenn ich mich recht erinnere. Warum auch immer. Ich weiß auch nicht ob das Hilfsblatt oder MARS da nicht ganz standard-konform ist.
Auf jeden Fall funktionieren alle Befehle, die in der MARS-Hilfe (F1 drücken) stehen. Da findet man eigtl. auch immer was
Auf jeden Fall funktionieren alle Befehle, die in der MARS-Hilfe (F1 drücken) stehen. Da findet man eigtl. auch immer was

Saying that Java is nice because it works on all Plattforms is like saying that anal sex is nice because it works on all genders.
Re: Praktikum 2 - Eingabe
Meines Wissens nach gibt es die Befehle in MIPS2000 durchaus, aber halt nicht im MARS Simulator. Wer auch immer das Hilfsblatt erstellt hat, hat da wohl in dem Moment nicht dran gedachtDemmi hat geschrieben:li.s ist in MARS schlicht nicht vorhanden, wenn ich mich recht erinnere. Warum auch immer. Ich weiß auch nicht ob das Hilfsblatt oder MARS da nicht ganz standard-konform ist.
Auf jeden Fall funktionieren alle Befehle, die in der MARS-Hilfe (F1 drücken) stehen. Da findet man eigtl. auch immer was

Re: Praktikum 2 - Eingabe
Die Befehle gibts eben nicht in MIPS2000 und deswegen MUSS sie der MARS auch nicht unterstützenLucasR hat geschrieben:Meines Wissens nach gibt es die Befehle in MIPS2000 durchaus, aber halt nicht im MARS Simulator. Wer auch immer das Hilfsblatt erstellt hat, hat da wohl in dem Moment nicht dran gedacht

Die Pseudobefehle sind schön und erleichtern uns die Arbeit recht viel, ihr solltet euch aber nicht einfach darauf verlassen, sondern sich im Klaren sein, wie sie sich von den Hardware-Befehlen unterscheiden und was die Beschränkungen der letzteren sind.
Ansonsten, schaut euch auch den Beitrag von Demmi an.