![](/img/trans.png)
[英]How to get addresses for static data in MIPS running in bare mode (no la pseudo-instruction)
[英]MIPS Assembly li Pseudo-Instruction
MIPS 中的 li(立即加載)偽指令是否根據常量的符號和大小以不同方式將常量加載到寄存器中? 例如,當常量是二進制補碼中的 16 位數字 (-2^15 <= k < 2^15) 而不是正數 (0 <= k < 2^16) 時,li 是否被翻譯成不同的指令? 32位數字呢?
我找到的鏈接沒有專門解決它。 如果你用例子來解釋它會很好(我使用火星模擬器)。
當立即數可以表示為 16 位二進制補碼時, LI
被匯編程序翻譯成一條指令。 (通常addiu $dst, 0, imm
)。
當立即數太大而無法表示為 16 位二進制補碼數時, LI
由匯編程序轉換為LUI
(加載上位立即數),然后是ORI
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.