0

初めての MIPS ユーザーとして、私は混乱しているようです。XSPIM はビッグ エンディアンであると言う同級生がいます。ただし、Linux ではリトル エンディアンのバイト順です。MIPS がリトル エンディアンまたはビッグ エンディアンである場合。XSPIM が自分のマシンでリトル エンディアンまたはビッグ エンディアンとして動作するかどうかを調べる方法はありますか?

4

1 に答える 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 に答える