[英]Putting a new value into a register with lui (load upper immediate) and ori (OR immediate) [MIPS]
[MIPS]
假設$s0
存在值0x12345678。
讓我們假設我想將另一個值放入$s0
(例如0x87654321),然后我必須使用lui
操作和ori
將值分為兩步(至少我已經這樣學過了)。
lui $s0, 0x8765
ori $s0, $s0, 0x4321
我知道如果$s0
在開始時為0
,這是有效的,但我實際上不確定lui
操作是否將后半部分設置為0,或者它是否只用我的新輸入0x8765替換了前半部分。
所以,我的問題是:
它是否有效,即使$s0
存儲了值,還是我必須將$s0
的值設置為0
然后設置上半部分和下半部分?
您應該始終查閱有關此類問題的指令集參考。 或者你甚至可以嘗試一下。
但回答你的問題,是的, lui
清除了低位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.