File:Endianessmap.svg

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Full resolution(SVG file, nominally 744 × 1,052 pixels, file size: 13 KB)

Contents

[edit] Summary

Description
English: A tool to use data in little and big endian encodings.
Date 2007-08-23 (original upload date)
Source Traced from en:Image:Endianessmap.jpg with inkscape, cleaned up with vim.
Author Konrad Eisele
Permission
(Reusing this file)

See below.

[edit] Explanation

Here is an example of using the image:

[edit] 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:
 81234561
  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

[edit] 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

[edit] Licensing

Konrad Eisele, the copyright holder of this work, hereby publishes it under the following licenses:
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.

w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Attribution: Konrad Eisele
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
  • share alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
This licensing tag was added to this file as part of the GFDL licensing update.

w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
Attribution: Konrad Eisele
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
  • share alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

You may select the license of your choice.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current14:53, 18 October 2007Thumbnail for version as of 14:53, 18 October 2007744 × 1,052 (13 KB)Slashme (Traced from en:Image:Endiannessmap.jpg with inkscape, cleaned up with vim.)
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):

Global file usage

The following other wikis use this file:

Metadata

Personal tools
Namespaces
Variants
Views
Actions
Navigation
Interaction
Toolbox