| Byte-by-byte Addressing | ||
|---|---|---|
char * string = "ABCDEF";(Assume a 2-byte word.) |
||
| 00000000 | 'A' | |
| 00000001 | 'B' | |
| 00000010 | 'C' | |
| 00000011 | 'D' | |
| 00000100 | 'E' | |
| 00000101 | 'F' | |
| 00000110 | '\0' | |
| 00000111 | --?-- | |
| 00001000 | 00000001 | 0000000000000001 |
| 00001001 | 00000000 | |
| 00001010 | 00000010 | 0000000000000010 |
| 00001011 | 00000000 | |
| 00001100 | 00000000 | 0000000100000000 |
| 00001101 | 00000001 | |
| 00001110 | 00000011 | 0000000100000011 |
| 00001111 | 00000001 | |
| High-Order / Low-Order | |||
|---|---|---|---|
| 1 | 0 | ||
00000001,
00000000 |
'B' | 'A' | |
00000011,
00000010 |
'D' | 'C' | |
00000101,
00000100 |
'F' | 'E' | |
00000111,
00000110 |
--?-- | '\0' | |
00001001,
00001000 |
00000000 | 00000001 | (1) |
00001011,
00001010 |
00000000 | 00000010 | (2) |
00001101,
00001100 |
00000001 | 00000000 | (256) |
00001111,
00001110 |
00000001 | 00000011 | (259) |
| 16-bit Word Addressing | ||||
|---|---|---|---|---|
| 0 | 1 | |||
| 00000000, 00000001 | 'A' | 'B' | ||
| 00000010, 00000011 | 'C' | 'D' | ||
| 00000100, 00000101 | 'E' | 'F' | ||
| 00000110, 00000111 | '\0' | --?-- | ||
| 00001000, 00001001 | 00000001 | 00000000 | (1) | |
| 00001010, 00001011 | 00000010 | 00000000 | (2) | |
| 00001100, 00001101 | 00000000 | 00000001 | (256) | |
| 00001110, 00001111 | 00000011 | 00000001 | (259) | |
(Addresses would actually be 16 bits long.)
| 32-bit Word Addressing (High-Order → Low-Order) | ||||||
|---|---|---|---|---|---|---|
| 11 | 10 | 01 | 00 | |||
00000011,
00000010, 00000001,
00000000 |
'D' | 'C' | 'B' | 'A' | ||
00000111,
00000110, 00000101,
00000100 |
--?-- | '\0' | 'F' | 'E' | ||
00001011,
00001010, 00001001,
00001000 |
00000000 | 00000000 | 00000000 | 00000001 | (1) | |
00001111,
00001110, 00001101,
00001100 |
00000000 | 00000000 | 00000000 | 00000010 | (2) | |
00010011,
00010010, 00010001,
00010000 |
00000000 | 00000000 | 00000001 | 00000000 | (256) | |
00010111,
00010110, 00010101,
00010100 |
00000000 | 00000000 | 00000001 | 00000011 | (259) | |
(Addresses would actually be 32 bits long.)
| 64-bit Word Addressing (High-Order → Low-Order) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 | ||
00000 |
--?-- | '\0' | 'F' | 'E' | 'D' | 'C' | 'B' | 'A' | |
00001 |
00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | (1) |
00010 |
00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000010 | (2) |
00011 |
00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | 00000000 | (256) |
00100 |
00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000000 | 00000001 | 00000011 | (259) |
(Addresses would actually be 64 bits long.)