gpt4 book ai didi

assembly - RISCV中如何表示乘法指令的乘积?

转载 作者:行者123 更新时间:2023-12-03 22:30:32 24 4
gpt4 key购买 nike

在RISCV中,我们有mul t1, s1, s2mulh t2, s1, s2指令,分别存储乘积的低 32 位和乘积的高 32 位。如果我需要使用该产品,我应该做add t0, t2, t1 ?

谢谢!

最佳答案

你不能。
就像使用 4 位而不是 32 位的示例一样。
与有符号整数的最高可能乘法是 0111 (7) * 0111 (7),结果为 110001 (49)。因此,无论您如何扭曲它,都无法仅以 4 位显示结果。通常它说乘法后你需要双倍的位。这也是为什么 Risc-V 中还有两个乘法运算的原因。
所以得出结论。您必须使用两个 32 位寄存器。除非您确定结果不会溢出 32 位。然后你可以只使用 mul 操作而不使用 mulh 。

关于assembly - RISCV中如何表示乘法指令的乘积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com