在MIPS中编码基本指令格式

时间:2018-11-18 17:18:42

标签: set mips basic

我想弄清楚如何对MIPS Green Sheet中提到的BASIC INSTRUCTION FORMATS进行编码 例如我想对指令add $t0 $t1, $t2进行编码。

我知道格式为R;操作码将为0x0;函数0x20。

但是如何获取rs,rt,rd和shmtt的代码?

1 个答案:

答案 0 :(得分:0)

问题中的链接已损坏。应该是https://inst.eecs.berkeley.edu/~cs61c/resources/MIPS_Green_Sheet.pdf

如果您查看该PDF第1页右下角的注册名,电话,使用,通话约定框,则会看到名称为$t0的寄存器到$t7对应于编号为8到15的寄存器。对于您感兴趣的指令,

    add $t0, $t1, $t2

$t0是目标寄存器,由指令中的rd字段指定。由于$t0是寄存器号8,因此将01000放在rd字段中。

$t1$t2是源寄存器,由指令中的rsrt字段指定。由于$t1是寄存器编号9,而$t2是寄存器编号10,因此将01001放入rs字段并将01010放入rt字段

shamt未在add指令中使用,因此请用零填充该字段。

顺便说一句,Green Sheet很好地提醒了指令集的细节,但是如果您刚开始使用MIPS架构,则类似https://www.cs.ucsb.edu/~franklin/64/lectures/mipsassemblytutorial.pdf的方法会更有用。

>