Wo kann ich ablesen, welchen opcode eine MIPS-Funktion hat?
Hallo,
auf dem MIPS Green Sheet steht, dass "add" den Opcode "000000" hat. Hingegen behauptet das Referenzblatt der Universität von Arizona, dass der Opcode für "add" "100000" ist.
Zudem haben "and" und "add" dort unterschiedliche Opcodes. Das hat mich verwirrt, weil in einer Online-Multiple-Choice-Übung meiner Universität behauptet wurde, dass "Die Befehle and und add weisen identische Werte für das Feld 'opcode' auf", eine richtige Aussage sein soll.
Und im MIPS Green Sheet, unsere bevorzugte Informationsquelle, enthält in die Opcode-Tabelle kein "and". Deswegen habe ich in eine andere Tabelle geschaut (die von der Universität von Arizona), aber die scheint ja etwas komplett Anderes zu sagen!
Ich frage mich, wo mein Missverständnis liegt. Irgendetwas muss ich falsch gemacht haben. Würde mich sehr darüber freuen, wenn mich irgendjemand aufklären könnte... Danke im voraus!
2 Antworten
In beiden Tabellen hat ADD den Opcode 0x20 = 100000 und AND den Opcode 0x24 = 100100.
Außerdem können ADD und AND nicht gleiche Opcodes haben, denn es sind ja zwei verschiedene Operationen.
Soweit ich weiß bezeichnet MIPS nur eine Prozessorarchitektur und definiert Befehle, die verstanden werden müssen.
Welche Opcodes nun welchen Befehl auslösen kann doch bei verschiedenen Prozessormodellen durchaus verschieden sein.