我在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?
答案 0 :(得分:6)
它会是相同的 - 内存中字节的顺序会有所不同,但只有从200($ t1),201($ t1),202($ t1)加载单个字节时才能看到和203($ t1)