“M” Extension for Integer Multiplication and Division
本文章介绍标准整数乘法和除法指令扩展,它名为“M”,包含对两个整数寄存器中的值进行乘法或除法的指令。
1、乘法运算

MUL指令(得到整数32位乘积(64位中的低32位)) MUL 指令用于执行两个带符号或无符号整数之间的乘法运算。其语法如下: mul rd, rs1, rs2 它将寄存器 rs1 和 rs2中的值相乘,并将结果写入寄存器 rd 中。如果 rs1 和 rs2 都是有符号整数,则结果也是有符号整数;如果 rs1 和 rs2都是无符号整数,则结果也是无符号整数。 需要注意的是,MUL操作可能会产生溢出,因此需要在程序设计时进行处理。
MULH 指令(得到整数32位乘积(64位中的高32位)) MULH 指令用于执行两个带符号或无符号整数之间的乘法运算,并返回高位 32 位的结果。其语法如下: mulh rd, rs1, rs2 它将寄存器 rs1 和 rs2 中的值相乘,并将结果的高位 64 位写入寄存器 rd 中。如果 rs1 和 rs2 都是有符号整数,则结果也是有符号整数;如果 rs1 和 rs2 都是无符号整数,则结果也是无符号整数。
MULHU 指令 (得到整数32位乘积(64位中的高32位)) MULHU 指令用于执行两个无符号整数之间的乘法运算,并返回高位 64 位的结果。其语法如下: mulhu rd, rs1, rs2 它将寄存器 rs1 和 rs2 中的值(无符号整数)相乘,并将结果的高位 64 位写入寄存器 rd 中。需要注意的是,MULHU 操作可能会产生溢出,因此需要在程序设计时进行处理。
MULHSU 指令 (得

本文详细介绍了RISC-V RV32M指令集,包括MUL、MULH、MULHU和MULHSU指令,用于32位整数乘法并处理高低32位结果,以及DIV、DIVU、REM和REMU指令,分别用于有符号和无符号整数的除法和取模运算。这些指令在处理数值运算时需注意溢出问题。
最低0.47元/天 解锁文章
5710

被折叠的 条评论
为什么被折叠?



