MIPS使用本机指令将用户输入数据加载到高16位

时间:2016-10-02 14:26:19

标签: assembly mips

我目前正在使用本机指令在MIPS中编写除法算法。我遇到的一个问题是算法要求除数位于寄存器的左半部分。现在,如果我立即加载,我会使用LUI。但由于我使用系统调用来获取用户的输入,因此它被传递给寄存器。我不知道该怎么做。

以下是我目前的存储方式:

    addi $v0, $0, 5
    syscall
    add $a1, $0, $v0    #store divisor into $a1

谢谢。

1 个答案:

答案 0 :(得分:1)

左移16位:

sll $a1, $v0, 16          #$a1 = $v0 << 16 

$v0的高16位被丢弃。