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