RV32I指令集说明
指令类型大体结构说明:
整体指令集简要说明:
- 仅load、store指令可以访问内存,其它的操作都是在cpu内部完成;
//确认load的相关指令的高位扩展情况
//进行符号位扩展后输出;
R型指令集
R型指令集主要完成两寄存器操作后得到的结果又存放到寄存器中。
ADD
该指令完成rs1与rs2寄存器的加法,并将结果存放到rd中;注意该指令不考虑溢出情况。若计算结果超出32位,仅取低位?
答:是的,不考虑溢出,仅取低位。
SUB
该指令完成rs1与rs2寄存器的减法,并将结果存放到rd中;注意该指令不考虑溢出情况。若rs1值小于rs2值,向前借位?
XOR
该指令完成rs1与rs2的异或,并将结果存放到rd中;(rd=rs1^rs2)
OR
rd = rs1 | rs2;注意是按位或。
AND
rd = rs1 & rs2;注意是按位与。
SLL(Shift Left Logical)
rd = rs1 << rs2;
使用rs2的低5位作为移位数值,移位后空出来的位置补0;
SRL(shift Right Logical)
rd = rs1 >> rs2;
使用rs2