Я выполнил следующий фрагмент кода на 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
Так на Little Endian MIPS тренажере, значение $ t2 в конце программы 0x01DECADE. Если бы этот симулятор был большой эндией, какова была бы ценность? Будет ли это 0xDECADE01 или все равно будет 0x01DECADE?
Спасибо Крис. В этом есть смысл. Было бы неплохо, если бы кто-то мог запустить SPIM на большой машине для проверки подлинности. – Barney
@ Барни: Не нужно проверять. Это стандартная штуковина. Магазин ведет себя в зависимости от цели, загрузка делает точно противоположную нагрузке. выполняя их один за другим с одинаковым размером данных, никогда не изменяет значение регистра. – Bahbar
@ Бахбар: Спасибо. «загрузка делает точно противоположную нагрузке». Вы имели в виду, что «загрузка действительно противоположна магазину»? – Barney