初めての MIPS ユーザーとして、私は混乱しているようです。XSPIM はビッグ エンディアンであると言う同級生がいます。ただし、Linux ではリトル エンディアンのバイト順です。MIPS がリトル エンディアンまたはビッグ エンディアンである場合。XSPIM が自分のマシンでリトル エンディアンまたはビッグ エンディアンとして動作するかどうかを調べる方法はありますか?
1 に答える
2
SPIM は、それが実行されるマシンのエンディアンを採用します。( http://www.dsi.unive.it/~arcb/LAB/spim.htm#Byte%20Order )
マシンのエンディアンをチェックする小さなプログラムは次のとおりです。
.data
word: .word 1
bigStr: .asciiz "Big Endian\n"
littleStr: .asciiz "Little Endian\n"
.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
于 2014-01-16T21:50:19.127 に答える