long Data Types (signed and unsigned)

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 long
Upper half of the register
MS
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
63 32
Lower half of the register
LS
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
31 0
LEGEND: S = sign, U = unsigned integer, I = signed integer, X = unused, MS = most significant, LS = least significant
Figure 6-4 Unsigned 64-bit long
Upper half of the register
MS
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
63 32
Lower half of the register
LS
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
31 0
LEGEND: S = sign, U = unsigned integer, I = signed integer, X = unused, MS = most significant, LS = least significant