add rd, rs1, rs2
示例:
add x5,x6,x7 x5=x6+x7
rd: 0b00101 rs1:0b00110 rs2:0b00111
对应32位指令格式如下:
0000000 00111 00110 000 00101 0110011
即为:0x007302b3
整数寄存器–寄存器指令(R类)
RV32I定义了几种算术R类操作指令,所有操作都是读取rs1和rs2作为源寄存器,并把结果写入到rd寄存器中。
示例:
add rd, rs1, rs2 rd=rs1+rs2
sub rd, rs1 rs2 rd=rs1-rs2
add sub 分别执行加法和减法,溢出被忽略,并且结果的低32位被写入rd。
slt rd, rs1, rs2 有符号数比较,如果rs1<rs2 rd=1, 否则rd=0
sltu rd, rs1, rs2 无符号数比较
and rd,rs1, rs2 rd=rs1&rs2