| ||
In the following little-endian ordered data snippet, you will find an example of the most common data types. The actual hex value is on the right and the byte arrangement in memory is on the left.
0000 12 Ape db 12h ; (byte) 0001 34 12 Bat dw 1234h ; (word) 0003 78 56 34 12 Cat dd 12345678h ; (dword) 0007 F0 DE BC 9A 78 56 34 12 Dog dq 123456789ABCDEF0h ; (qword)
Note that the data should be properly aligned to their data type, so a slight rearrangement of the previous data snippet is in order. You should note the previous odd addressing versus the following aligned addressing:
0000 f0 DE BC 9A 78 56 34 12 Dog dq 123456789ABCDEF0h ; (qword) 0008 78 56 34 12 Cat dd 12345678h ; (dword) 000C 34 12 Bat dw 1234h ; (word) 000E 12 Ape db 12h ; (byte)
You will note by the base address on the far left that the data has been reordered to ensure that all elements of a data type are properly aligned for their data type. Eight-byte values are aligned on 8-byte boundaries, 4-byte on 4-byte boundaries, etc.