簡體   English   中英

在 MIPS 中使用 $0 加載值

[英]Loading Values with $zero in MIPS

我在理解寄存器存儲中如何使用 'n($zero)' 時遇到了一些麻煩。 在下面的問題中,由於每個十六進制都是 4 位,所以加載到 $s1 中的“6($zero)”是什么值?

$s1 = A1B2C3D4
$s2 = 5A6B7C8D

sw $s1, 4($zero)
sw $s2, 8($zero) 
lw $s1, 6($zero)

這個過程之后 $s1 的結果是什么?

lw $s1, 6($zero)從絕對地址0+6 = 6 加載,因此會出現故障,除非您使用的是足夠現代的 MIPS,允許未對齊的加載。

如果是這樣,結果取決於您的 MIPS CPU 在哪種字節序模式下運行。例如,MARS 模擬了一個小端序 MIPS,您可以將存儲的低半部分獲取到地址8 ,並將存儲的高半部分獲取到4 但是 MIPS CPU 在大端模式下運行是很常見的。

暫無
暫無

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

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