一千萬個為什麽

搜索

MIPS匯編:大端和小端混淆

我在 MIPS MARS模擬器上運行了以下代碼段。那個模擬器是小端。所以結果如下:

lui    $t0,0x1DE             # $t0 = 0x01DE0000
ori    $t0,$t0,0xCADE        # $t0 = 0x01DECADE 
lui    $t1,0x1001            # $t1 = 0x10010000
sw     $t0,200($t1)          # $t1 + 200 bytes = 0x01DECADE 
lw     $t2,200($t1)          # $t2 = 0x01DECADE 

所以在一個小端MIPS模擬器上,程序結束時$ t2的值是0x01DECADE。如果這個模擬器是大端,那麽它的價值是什麽?它是0xDECADE01還是仍然是0x01DECADE?

最佳答案

它會是相同的 - 內存中字節的順序會有所不同,但只有在加載200($ t1),201($ t1),202($ t1)和203( $ T1)

轉載註明原文: MIPS匯編:大端和小端混淆