2
我在MIPS MARS simulator上運行以下代碼片段。那個模擬器是小端的。所以,結果如下:MIPS程序集:大,小端混淆
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?
謝謝克里斯。這就說得通了。如果有人能夠在大型機器上運行SPIM來驗證,那將會很好。 – Barney 2010-04-12 19:49:00
@Barney:無需驗證。這是標準的字節順序。商店的行爲取決於字節順序,負載完全與負載相反。一個接一個地執行它們,具有相同的數據大小,不會改變寄存器值。 – Bahbar 2010-04-12 21:04:33
@Bahbar:謝謝。 「負載完全與負載相反。」你的意思是「裝載與商店完全相反」嗎? – Barney 2010-04-12 23:05:22