Little Endian Order
 
The MARS and Spim store and retrieve data from memory using the little endian order.  
This means that the least significant byte of a variable is stored at the lowest address, that is, the word is stored “little-end-first.”  The remaining bytes are stored in the next consecutive memory positions.  
 
  | Assume the starting offset is 0.
A word 0x12345678 is stored as: |  | 
  
   | Little Endian Order |  
   | Definition | X:   .word   0x12345678 |  
   | Offset | 0000 | 0001 | 0002 | 0003 |  
   | Value | 78 | 56 | 34 | 12 |  | 
 
  
   | Retrieving the 2nd Byte | Clearing the Value 01 | Switching the Lower and Upper Bytes
 | 
  
   |      .data
 X:  .word  0x01020304
     .text 
     la  $t0, X
     lb  $a0, 1($t0) 
     li  $v0, 1
     syscall |  |  | 
  
   | Output | Output | Output | 
  
    
 
   | 2   (0x00000002)
 
 
 | 258   (0x0102)
 
 
 | 
 
Some computers use the 
big endian order, which is the reverse of the 
little endian order.    
 
  | Assume the starting offset is 0.
A word 0x12345678 is stored as: |  | 
  
   | Big Endian Order |  
   | Definition | X:   .word   0x12345678 |  
   | Offset | 0000 | 0001 | 0002 | 0003 |  
   | Value | 12 | 34 | 56 | 78 |  |