如何在MIPS中测试整数乘法溢出?

如何在MIPS中测试整数乘法溢出?,mips,Mips,我正在学习MIPS组装。我读过以下内容:“两个MIPS乘法指令都忽略溢出,因此由软件检查产品是否太大而无法容纳32位。如果multu的Hi为0或mult的Lo复制符号为“on”,则不会出现溢出 如何在MIPS中测试整数乘法溢出?对于multu(无符号乘法),a,b≥ 0和(a+b)>b。如果a和b是寄存器$8和$9中的数字,那么您可以(但我还没有尝试在SPIM中运行此功能)用以下代码捕获$10中的溢出: add $8, $8, $9 slt $11, $9, $0 //set $11

我正在学习MIPS组装。我读过以下内容:“两个MIPS乘法指令都忽略溢出,因此由软件检查产品是否太大而无法容纳32位。如果multu的Hi为0或mult的Lo复制符号为“on”,则不会出现溢出

如何在MIPS中测试整数乘法溢出?

对于
multu
(无符号乘法),
a,b≥ 0和
(a+b)>b
。如果a和b是寄存器
$8
$9
中的数字,那么您可以(但我还没有尝试在SPIM中运行此功能)用以下代码捕获
$10
中的溢出:

 add $8, $8, $9
 slt $11, $9, $0    //set $11 if b is less than 0 
 slt $10, $8, $9    //set $10 if (a+b) is less than b
 xor $10, $10, $11  
我希望它能起作用?或者我们可以尝试运行MIPS代码