MIPS: Mars - 2 Gleitkommazahlen miteinander vergleichen. Gegenteil von c.lt.s?

NoButton

Newbie
Registriert
Nov. 2015
Beiträge
3
Hallo,

ich würde mich sehr freuen wenn mir jemand helfen könnte.

Wie schon im Titel erwähnt möchte ich ein Programm schreiben, in dem eine vom Programm zufällig
generierte Gleitkommazahl (x.0 bzw. x.5) erraten werden soll.
Bin eigentlich auch fast fertig.
Hier ein Teil meines Programmes:

li $v0, 4 # print "Bitte Zahl eingeben:".
la $a0, entNumber
syscall

li $v0, 6 # hier die Eingabe einer Gleitkommazahl,
syscall # die soweit ich weiss, automatisch in $f0 gespeichert wird.

c.eq.s $f0, $f12 # hier der Vergleich auf Gleichheit.
bc1t winner # wenn true dann folge Label.

c.lt.s $f0, $f12 # hier der Vergleich, ob die eingegebene Gleitkommazahl zu klein ist.
bc1t toLow

bgt $f0, $f12 # und hier sollte der Vergleich stattfinden, ob die Gleitkommazahl zu groß ist.
bc1t toHigh


Ich hatte vorher ganze Zahlen, darum steht da noch "bgt", die anderen 2 habe ich schon ersetzt.
Nur weiss ich nicht was ich für "bgt" einsetzen soll.

Würde mich sehr freuen, wenn mir jemand helfen kann.

Mit freundlichen Grüßen
 
Ich kenne jetzt das MIPS-Instruction Set nicht auswendig und die Float-Erweiterungen schon gar nicht, aber um eine Ordnung herzustellen, reicht prinzipiell der Kleiner-Operator bzw. die entsprechende Operation dafür (also c.lt.s). Für Größer-Vergleiche muss man dann einfach nur die Operanden vertauschen:
Code:
a > b <=> b < a
 
Hallo VikingGe,

vielen Dank für den Tipp, die Schlussfolgerung ist eigentlich auch logisch, ich habe mich wahrscheinlich
zu sehr auf die Operatoren versteift.

Hab jetzt den Größer-Vergleich einfach weggelassen, da wenn nicht Gleich und auch nicht Kleiner-Als
zutrifft, es ja größer sein muss, und einfach einen Jump-Befehl zur Funktion von Größer erstellt.

Vielen Dank nochmal.

Mit freundlichen Grüßen
 
Zurück
Oben