mult
指令可以乘以两个32位整数,这可以得到64位结果。结果的高位32位(32-63)保存在Hi中,低位(0-31)保存在Lo中。乘法后,我可以使用mfhi
和mflo
将结果移动到寄存器。但显然不可能将64位数写入32位寄存器。如何将结果存储回寄存器并使用它?我应该将每个部分保存在一个单独的寄存器中并将它们连接起来吗?
答案 0 :(得分:1)
将mfhi
和mflo
分别保存到寄存器是正确的。您只需要检查您的产品是否同时使用两个寄存器(当Hi不为零时),然后考虑到这一点并处理它们。