簡體   English   中英

使用lui(load upper immediate)和ori(OR immediate)[MIPS]將新值放入寄存器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM