In MIPS, was ist HALLO und LO
-
22-09-2019 - |
Frage
Ich bin über Abteilung in MIPS lesen, und ich habe festgestellt, dass div
Dividiert $ s von $ t und speichert die Quotient in $ LO und der Rest in $ HALLO
http://www.mrc.uidaho.edu/ MRC / people / jff / digital / MIPSir.html
Und Wikipedia sagt
HALLO und LO sind für den Zugriff auf den Multiplizierer / Teiler Ergebnisse, durch die mfhi (Übergang von hoch) zugegriffen und Befehle MFLO.
http://en.wikipedia.org/wiki/MIPS_architecture
Sind HALLO und LO-Register? Welche Zahl Register sind sie?
Lösung
Dies sind Spezialregister verwendet, um das Ergebnis der Multiplikation und Division zu speichern. Sie sind nicht direkt adressierbar. Deren Inhalte werden mit speziellen Anweisungen zugegriffen mfhi
und mflo
Sie sind in der Multiplikationseinheit und sind 32-Bit jeweils. Weitere Informationen hier .
Andere Tipps
HALLO und LO sind nicht Register nummeriert, IIRC. Sie werden nur zum Speichern der Ergebnisse der Operationen verwendet, die nicht in ein einzelnes Register passen würde (beispielsweise Multiplikation zweier 32-Bit-Integer in einen 64-Bit-Ganzzahl führen kann, so dass der Überlauf geht in HALLO).
edit: nach diese Klasse Beschreibung , sind sie in der Tat speziellen Register, so dass sie nicht nummeriert sind, und nur zugänglich mit speziellen Befehlen.
Was LO tut, ist, dass für die Multiplikation, es die am wenigsten signifikanten Bits speichert und HALLO speichert den Rest der Bits, sondern in erster Linie konzentrieren wir uns nur auf den LO-Teil für die Multiplikation. Im Geschäftsbereich konzentrieren wir uns auf beides. LO in der Division ist, wo der Quotient bei gespeichert werden soll und HALLO ist der Rest.