MIPS汇编:大端和小端混淆

时间:2010-04-12 19:15:32

标签: assembly mips

我在MIPS MARS simulator上运行了以下代码段。那个模拟器是小端。结果如下:

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?

1 个答案:

答案 0 :(得分:6)

它会是相同的 - 内存中字节的顺序会有所不同,但只有从200($ t1),201($ t1),202($ t1)加载单个字节时才能看到和203($ t1)