2017-10-24 5 views
0

Ich versuche, li.s in MARS MIPS Assembly für eine zwei Konstanten zu verwenden, aber ich kann es nicht funktionieren, da es mir Fehler gibt, was wäre der richtige Weg, um diese Konstanten zu implementieren?MIPS Assembly - MARS li.s

li.s $f2, 3.14159 
li.s $f3, 64.0 

Antwort

0

auf MIPS-CPUs (sowohl reale CPUs und Simulatoren) die (integer) li Anweisung ist nur eine Abkürzung für einen anderen Befehl, diesen Job zu tun (oder einen Satz von zwei Anweisungen!): li $a0, 0x12345678 bedeutet eigentlich:

lui $a0, 0x1234 
addiu $a0, $a0, 0x5678 

Wenn wir uns den Gleitkomma-Befehlssatz von MIPS-CPUs ansehen, denke ich, dass dies mit Gleitkommaregistern nicht möglich ist.

Sie müssen die Fließkommazahl an einem Speicherort speichern und die l.s Anweisung verwenden, um die Nummer von dort zu laden.