Nicht sicher, ob der Offset den Befehl zum Abrufen und Speichern der Anweisung eine Zeile (4 Byte) entfernt vom Programmzähler des Ladewortes in Register $ s0,4 ($ t0) bringt. Wie funktioniert das im Gedächtnis? Bitte geben Sie wenn möglich Beispiele an.
Antwort
Die Funktionalität von LW und SW kann im MIPS-Befehlssatz gelesen werden, was Michael bereits gesagt hat.
Aber, um es schnell zu machen, gebe ich immer noch eine Antwort hier. LW steht für Lastwort. Es lädt einen 32-Bit-Wortwert in ein Zielregister (rt) von einer Adresse, in der dieser Wert gespeichert ist.
LW rt, offset(base)
Nehmen wir ein einfaches Beispiel machen:
LUI T0, 0x8033
LW T1, 0x2550(T0)
Der obige Code jetzt die 32-Bit-Wortwert an der Adresse befindet sich laden würden:
0x80332550
Der Wert in LUI ist die obere die Hälfte der Adresse, während der angegebene Offset 0x2550 die untere Hälfte ist. Jetzt lädt MIPS einfach den 32-Bit-Wert von 0x80332550.
Sagen wir 0x80332550 folgenden Wert enthält:
0x80332550: 25 66 99 88 77 14 22 66
Nach dem LW-Befehl würde T1 nun den Wert 0x25669988 enthalten. (Wenn auf Big-Endian, auf Little-Endian wäre es 0x88996625)
SW macht fast das gleiche wie LW, nur dass es einen 32-Bit-Wert an die angegebene Adresse speichert, anstatt es zu laden. Das rt-Register fungiert in diesem Fall als Werthalter.
Einige Nitpicking: '$ t0' ist die Basis, 0x2555 ist der _offset_. Und 0x80332555 wäre keine gültige Adresse, um ein Wort zu laden, da es nicht wortorientiert ist. – Michael
@Michael Woops. Das wurde behoben. – Tetragrammaton
* MIPS erkennt, dass 0x8033 und 0x2550 verknüpft sind * ist eine seltsame Wortwahl. Es ist eher so, dass MIPS das tut, was es gesagt hat, und dies ist eine Möglichkeit, das gewünschte Verhalten zu erreichen. MIPS muss nichts erkennen, nur die Mathematik machen. –
- 1. Was bewirkt das Hinzufügen dieser Zeile zu web.config?
- 2. Wie funktioniert Lw in Mips tatsächlich?
- 3. Was bewirkt dieser thread_local RNG-Samen?
- 4. n & (n-1) Was bewirkt dieser Ausdruck?
- 5. (ptr + n-1) & -n Was bewirkt dieser Ausdruck?
- 6. Was bewirkt: "Hinweis: Nicht initialisierter String-Offset" erscheint?
- 7. Was bewirkt, dass Windows in dieser WPF-Ribbon-Anwendung hängt
- 8. Assembly MIPS cant lw from array
- 9. Was bewirkt die Ausbeute in dieser Ruby-Methode?
- 10. benötigen Klärung MIPS Speicher in lw
- 11. Was bewirkt, dass dieser Regex zu allem passt?
- 12. Notwendigkeit der [IO t0] in main :: tun
- 13. Was bewirkt das Namensattribut des fieldset-Elements?
- 14. Was bewirkt der Rückgabewert OnNotification() von IAlertNotifyHandler?
- 15. Was bewirkt das exportierte Attribut in .classpath?
- 16. Was bewirkt RxJS.Observable Entprellen?
- 17. Was bewirkt VS-Projektbindung?
- 18. Was bewirkt `session.entropy_length` in` PHP.ini`?
- 19. Was bewirkt "Zoom" in CSS?
- 20. Was bewirkt "*" in regulären Ausdrücken?
- 21. Was bewirkt "$" in C# 6.0?
- 22. Was bewirkt charCodeAt (...) & 0xff?
- 23. Was bewirkt setWidth ("*") in CSS/SmartGWT?
- 24. Was bewirkt der Microsoft.WebApplication.targets-Import in VS 2010-Webanwendungsprojekten?
- 25. Was macht dieser Teil des Python-Codes?
- 26. Was macht der Doppelpunkt in dieser Strukturdefinition?
- 27. was bewirkt, dass imagecreatetruecolor() fehlschlägt?
- 28. Was bewirkt das Schlüsselwort 'in' in F #?
- 29. Was ist der "dieser" Zeiger?
- 30. Was genau ist Offset im Bootstrap?
Auch dies wird in _MIPS32 ™ Architektur für Programmierer erläutert. Band II: Der MIPS32 ™ Befehlssatz_ (siehe 'lw'). – Michael
Es sollte wirklich ein Off-Topic sein, "Einfache Google-Suchanfragen beantworten die Frage." –
wie in [http://stackoverflow.com/questions/36467299/how-do-i-translate-an-immediateregister-into-machine-code], wird ein Handbuch Anleitung sagen Sie – Tommylee2k