Summary
Explanation
Here is an example of using the image:
Big endian
In Big-Endian: Say you would want to:
- write "0x12345678" 32 bit into memory at addr "0"
- read back 16 bit from address "2"
You would take the parts of the diagram for 32 bit and Big-Endian:
Value in register:
12345678
A B C D
Register:
|------->
A B C D 32 bit access
Memory:
| A B C D 32 bit access address 0
---------
0 1 2 3
^
|-> map 0 here
A B C D
Result in memory:
| 12345678
---------
0 1 2 3
Now you would want to read back 16 bit from address "2" in Big-Endian: Then you would use:
Value in memory:
| 12345678
---------
0 1 2 3
Memory:
| A B C D 16 bit access 2
---------
0 1 2 3
^
|-> map 2 here
|--->
C D
Register:
|-->|
A B C D 16 bit access
Result in register:
| 00005678
---------
0 1 2 3
Little endian
In Little-Endian: Say you would want to :
- write your "0x12345678" 32 bit into memory at addr "0"
- read back 16 bit from address "2"
You would take the parts of the diagram for 32 bit and Little-Endian:
Value in register:
12345678
A B C D
Register:
A B C D 32 bit access
<-------
Memory:
A B C D | 32 bit access 0
---------
3 2 1 0
^
<-| map 0 here
A B C D
Result in memory:
12345678|
---------
3 2 1 0
Now you would want to read back 16 bit from address "2" in Little-Endian: Then you would use:
Value in memory:
12345678 |
-----------
3 2 1 0
Memory:
A B C D | 32 bit access address 2
---------
3 2 1 0
^
<-| map 2 here
C D
Register:
A B C D 16 bit access
|<--|
Result in register:
00001234
---------
3 2 1 0
Licensing
|
The author of this work has published it under the following licenses:
You may select the license of your choice.
|
Click on a date/time to view the file as it appeared at that time.
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):