簡體   English   中英

MIPS 從地址加載值

[英]MIPS loading values from address

我正在學習 MIPS 匯編語言,我想知道如何從地址加載值。 例如我想將內存地址 0x10010000 存儲在 $t2 中。 0x10010000 中的值是 12,33,70,70(0x10010000 - 0x10010003)。 0x10010004 會有類似 F4,A6, 12,99((0x10010004 - 0x10010007).

到目前為止我有這個

add $t3, $t2, $zero
lw $t4, 0($t3)
add $t5, $t4, -6
sw $t5, 4($t2)

但不知道我將如何“初始化” $t2

為您的數據貼上標簽,並使用la $t2, labelName

或者,您可以使用lui 0x10010000加載到$t2中,它將 16 位常量加載到寄存器的上部 - 在這里您將使用lui $t2, 0x1001

如果您需要低 16 位的非零(例如,對於0x10010400 ),則在lui使用ori完成它們(例如ori $t2, $t2, 0x0400 )。

此外, la是偽指令。 它通常會擴展為兩條指令,並且當您匯編代碼時(例如在 MARS 或 QtSPIM 中),您將能夠看到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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