【发布时间】:2019-07-11 06:16:47
【问题描述】:
在RISCV中,我们有mul t1, s1, s2和mulh t2, s1, s2指令,分别存储乘积的低32位和乘积的高32位。如果我需要使用该产品,我应该add t0, t2, t1吗?
谢谢!
【问题讨论】:
-
你不能。如果将两个 32 位的数字相乘,则结果需要 64 位进行编码,相乘的实际值为 t1+2^32*t2。您必须使用两个 32 位寄存器来存储结果。除非你确定结果可以存储为 32 位,在这种情况下,
mulh的使用是没有用的。 -
@AlainMerigot,您的评论将是一个很好的答案。
标签: assembly riscv instruction-set