如何在不使用lui的情况下将32位常量加载到寄存器 [英] How to load 32 bit constant to a register without using LUI
本文介绍了如何在不使用lui的情况下将32位常量加载到寄存器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
$t0
。但是,我无法使用lui
执行此操作。我的直觉是使用两个addi
,但我不确定如何做到这一点。我必须需要2个或更多才能获得32位信息。我需要在不使用lui
的情况下以某种方式设置高位。复制lui
而不使用它的好方法是什么?
推荐答案
您可以结合使用ori
和sll
在3条指令中加载32位常量,而不使用lui
:
ori $t1, $zero, 0x1234 # load the upper half in the lower bits of $t1
sll $t1, $t1, 16 # move them to the upper half
ori $t1, $t1, 0xABCD # combine with the lower half
这篇关于如何在不使用lui的情况下将32位常量加载到寄存器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文