MIPS 使用本机指令将用户输入数据加载到高 16 位
MIPS load user input data to upper 16-bits with native instructions
我目前正在仅使用本机指令在 MIPS 中编写除法算法。我遇到的一个问题是该算法要求除数位于寄存器的左半部分。现在,如果我要立即加载,我将只使用 LUI。但是由于我正在使用系统调用从用户那里获取输入,所以它被传递到一个寄存器。我不知道该怎么做。
这是我目前的存储方式:
addi $v0, [=10=], 5
syscall
add $a1, [=10=], $v0 #store divisor into $a1
谢谢。
执行左移 16 位:
sll $a1, $v0, 16 #$a1 = $v0 << 16
$v0
的高 16 位被丢弃。
我目前正在仅使用本机指令在 MIPS 中编写除法算法。我遇到的一个问题是该算法要求除数位于寄存器的左半部分。现在,如果我要立即加载,我将只使用 LUI。但是由于我正在使用系统调用从用户那里获取输入,所以它被传递到一个寄存器。我不知道该怎么做。
这是我目前的存储方式:
addi $v0, [=10=], 5
syscall
add $a1, [=10=], $v0 #store divisor into $a1
谢谢。
执行左移 16 位:
sll $a1, $v0, 16 #$a1 = $v0 << 16
$v0
的高 16 位被丢弃。