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