tags:

views:

22

answers:

1

Hello,

I'm using pcspim simulator and my processor is an Intel x86 (little endian)

As I understand, the declaration .word -5 should place in memory the following bytes 1111 1011 1111 1111 1111 1111 1111 1111 (little endian). But the simulator pcspim places this word in memory in a big-endian order it means: 1111 1111 1111 1111 1111 1111 1111 1011. Who can explain this ? Thanks in advance,

xyoavx

+1  A: 

The spim docs say:

SPIM’s byte order is the same as the byte order of the underlying machine that runs the simulator.

So you're right, the byte order should be little endian on your machine. Are you sure you're looking at a byte ordered view? If you're looking at the memory word-at-a-time, the view you're looking at usually swizzles the bytes around. For example:

By byte:

fb ff ff ff ff ff ff ff
ef cd ab 89 67 45 23 01

By word:

fffffffffffffffb
0123456789abcdef

The other possibility is that your build of pcspim is actually simulating a big-endian processor.

Carl Norum
Hello Carl,Thanks a lotRegards,Xyoavx
xyoavx
Did you figure something out?
Carl Norum