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

本文分享了一种区分寄存器rs、rt、rd的有效方法,通过实例解析,如LDR1,0(R2)及DAADR4,R1,R5两条指令,帮助读者理解各寄存器在指令执行过程中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老师教的方法,觉得很实用,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。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值