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