enum, int, and long Data Types (signed and unsigned)

The int and unsigned int data types are stored in memory as 32-bit objects (see Figure 8-2). Objects of these types are loaded to and stored from bits 0-31 of a register. In big-endian mode, 4-byte objects are loaded to registers by moving the first byte (that is, the lower address) of memory to bits 24-31 of the register, moving the second byte of memory to bits 16-23, moving the third byte to bits 8-15, and moving the fourth byte to bits 0-7. In little-endian mode, 4-byte objects are loaded to registers by moving the first byte (that is, the lower address) of memory to bits 0-7 of the register, moving the second byte to bits 8-15, moving the third byte to bits 16-23, and moving the fourth byte to bits 24-31.

For details about the size of an enum type, see Section 7.4.1.

Figure 8-2 32-Bit Data Storage Format
Signed 32-bit integer
MS LS
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
31 0
Unsigned 32-bit integer
MS 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, MS = most significant, LS = least significant