#assembly #mips #endianness #qtspim
Вопрос:
Как первый пользователь MIPS, я, кажется, в замешательстве. У меня есть один одноклассник, который сказал, что XSPIM-это большой эндиан. Однако в Linux это небольшой конечный порядок байтов. Если MIPS может быть литтл-эндианским или биг-эндианским. Есть ли способ узнать в XSPIM, работает ли он на вашей машине как маленький или большой конец?
Комментарии:
1. Реальные процессоры MIPS могут быть сконфигурированы как большие, так и маленькие конечные.
2. используя xspim, он становится большим конечным или маленьким конечным в зависимости от машины
Ответ №1:
SPIM использует конечность машины, на которой он работает. (http://www.dsi.unive.it/~arcb/LAB/spim.htm#Байт порядок)
Вот небольшая программа для проверки работоспособности вашей машины:
.data
word: .word 1
bigStr: .asciiz "Big Endiann"
littleStr: .asciiz "Little Endiann"
.text
main:
la $t0 word
lb $t1 0($t0)
beqz $t1 bigEndian
littleEndian:
la $a0 littleStr
addi $v0 $zero 4
syscall
jr $ra
bigEndian:
la $a0 bigStr
addi $v0 $zero 4
syscall
jr $ra
Комментарии:
1. как программа может компилироваться без каких-либо
,
?2. По крайней мере, при использовании spim запятые необязательны.