The
long
and
unsigned long
data types are stored in a full 64-bit register (see Figure 6-3). In big-endian mode, the lower address is loaded into bits 32-63 of the register and the higher address is loaded into bits 0-31 of the register. In little-endian mode, the lower address is loaded into bits 0-31 of the register and the higher address is loaded into bits 32-63s of the register.
Figure 6-3 64-Bit Data Storage Format Signed 64-bit longUpper half of the register | | | | | | | | | | | | | | | | | | | | | | |
S | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I |
Lower half of the register | | | | | | | | | | | | | | | | | | | | | |
I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I | I |
LEGEND: S = sign, U = unsigned integer, I = signed integer, X = unused, MS = most significant, LS = least significant |
Figure 6-4 Unsigned 64-bit longUpper half of the register | | | | | | | | | | | | | | | | | | | | | | |
U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U |
Lower half of the register | | | | | | | | | | | | | | | | | | | | | | |
U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U | U |
LEGEND: S = sign, U = unsigned integer, I = signed integer, X = unused, MS = most significant, LS = least significant |