2010-02-23 8 views
15

Ich bin über Abteilung in MIPS lesen, und ich habe das divIn MIPS, was ist HALLO und LO

Dividiert $ s von $ t und speichert den Quotienten in $ LO und der Rest gefunden in $ HALLO

http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

Und Wikipedia sagt

HI und LO werden verwendet, um auf die Ergebnisse des Multiplikators/Divisors zuzugreifen, auf die die Befehle mfhi (move from high) und mflo zugreifen.

http://en.wikipedia.org/wiki/MIPS_architecture

Sind HALLO und LO registriert? Welche Nummer register sind sie?

+0

Und wenn sie nicht Register sind, sind sie Flecken im Speicher? – hodgesmr

+1

Nein, sie sind Register, sie können nur nicht in den 5-Bit-Registerfeldern in MIPS-Anweisungen codiert werden. Auf diese "nummerierten" Register wird unter Verwendung der entsprechenden Nummer im Registerfeld zugegriffen. Die HI/LO-Register haben spezielle Anweisungen, die es ihnen ermöglichen, in ein "nummeriertes" Register übertragen zu werden. –

Antwort

19

Dies sind Sonderregister, die zum Speichern des Ergebnisses der Multiplikation und Division verwendet werden. Sie sind nicht direkt adressierbar. Auf ihre Inhalte wird mit speziellen Anweisungen zugegriffen mfhi und mflo

Sie sind in der Multiply Unit vorhanden und sind jeweils 32-Bit. Weitere Informationen here.

+0

Auch die weniger häufig verwendeten mthi und mtlo greifen auf sie zu. – rsaxvc

+0

danke Bruder, du hast mir sehr geholfen –

+1

und 'mfhi' und' mflo' stehen für "Umzug von" HI/LO (Quelle: http://www.mrc.uidaho.edu/mrc/people/jff/digital /MIPSir.html) –

7

HI und LO sind keine nummerierten Register, IIRC. Sie werden nur zum Speichern der Ergebnisse von Operationen verwendet, die nicht in ein einzelnes Register passen würden (z. B. könnte das Multiplizieren von zwei 32-Bit-Ganzzahlen zu einer 64-Bit-Ganzzahl führen, so dass der Überlauf in HI geht).

bearbeiten: nach this class description sind sie in der Tat spezielle Register, so dass sie nicht nummeriert sind und nur mit speziellen Befehlen zugänglich sind.

+0

+1 das ist immer noch eine gute Antwort – hodgesmr

+0

Der Link scheint hinter einer Paywall zu sein. – BrotherJack

+0

Die Verbindung ist tot (403) – FDinoff

0

Was LO ist das für die Multiplikation, es speichert die niedrigstwertigen Bits, und HI speichert den Rest der Bits, aber hauptsächlich konzentrieren wir uns nur auf den LO-Teil für die Multiplikation. In der Division konzentrieren wir uns auf beide. LO in der Division ist, wo der Quotient gespeichert werden sollte und HI ist der Rest.

+0

Die Links funktionieren gut für mich! FDinoff –