如何在MIPS中测试整数乘法溢出?
我正在学习MIPS组装。我读过以下内容:“两个MIPS乘法指令都忽略溢出,因此由软件检查产品是否太大而无法容纳32位。如果multu的Hi为0或mult的Lo复制符号为“on”,则不会出现溢出 如何在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
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代码