我目前正在使用本机指令在MIPS中编写除法算法。我遇到的一个问题是算法要求除数位于寄存器的左半部分。现在,如果我立即加载,我会使用LUI。但由于我使用系统调用来获取用户的输入,因此它被传递给寄存器。我不知道该怎么做。
以下是我目前的存储方式:
addi $v0, $0, 5
syscall
add $a1, $0, $v0 #store divisor into $a1
谢谢。
答案 0 :(得分:1)
左移16位:
sll $a1, $v0, 16 #$a1 = $v0 << 16
$v0
的高16位被丢弃。