rs rt rd寄存器的区别与分辨

老师教的方法,觉得很实用,mark一下
这三个寄存器,总是分不清楚哪个是哪个, 比如下面这三个例子:
LD R1, 0(R2);
DAAD R4, R1, R5。

我的经验是,在实现中,rs 是第一个被用到的寄存器, rt是第二个被用到的寄存器; rd是第三个被用到的寄存器。

比如LD R1, 0(R2)这条指令中,第一个被用到的寄存器是R2, 因为要读取R2,加上立即数部分0,计算内存地址,所以R2为rs;从内存中读出的数据要存到R1中,因此R1是第二个被用到的寄存器,即为rt。

再比如,在DAAD R4, R1, R5这条指令中,R1和R5是同时被读取的,所以它俩分别是rs和rt。计算结果写回R4, 也就是R4是rd。

你可能感兴趣的:(计算机系统结构)