2016-10-02 44 views
0

我目前正在使用本機指令在MIPS中編寫除法算法。我遇到的一個問題是算法要求除數位於寄存器的左半部分。現在,如果我正在加載立即,我只會使用LUI。但是因爲我使用系統調用來從用戶那裏獲得輸入,所以它被傳遞給一個寄存器。我不知道如何做到這一點。MIPS用本地指令將用戶輸入數據加載到高16位

這裏是我當前如何存儲:

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

謝謝。

回答

1

由16位執行左移:

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

上部16的$v0位被丟棄。