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 | ||
0000000 1,
0000000 0 |
'B' | 'A' | |
0000001 1,
0000001 0 |
'D' | 'C' | |
0000010 1,
0000010 0 |
'F' | 'E' | |
0000011 1,
0000011 0 |
--?-- | '\0' | |
0000100 1,
0000100 0 |
00000000 | 00000001 | (1) |
0000101 1,
0000101 0 |
00000000 | 00000010 | (2) |
0000110 1,
0000110 0 |
00000001 | 00000000 | (256) |
0000111 1,
0000111 0 |
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 | |||
000000 11,
000000 10, 000000 01,
000000 00 |
'D' | 'C' | 'B' | 'A' | ||
000001 11,
000001 10, 000001 01,
000001 00 |
--?-- | '\0' | 'F' | 'E' | ||
000010 11,
000010 10, 000010 01,
000010 00 |
00000000 | 00000000 | 00000000 | 00000001 | (1) | |
000011 11,
000011 10, 000011 01,
000011 00 |
00000000 | 00000000 | 00000000 | 00000010 | (2) | |
000100 11,
000100 10, 000100 01,
000100 00 |
00000000 | 00000000 | 00000001 | 00000000 | (256) | |
000101 11,
000101 10, 000101 01,
000101 00 |
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.)