The CPU uses byte addressing for halfword, word, and doubleword accesses with the following alignment constraints:
• Halfword accesses must be aligned on an even byte boundary (0, 2, 4...).
• Word accesses must be aligned on a byte boundary divisible by four (0, 4, 8...).
• Doubleword accesses must be aligned on a byte boundary divisible by eight (0, 8, 16...).
When CPU running under 32bit mode, int must 32bit aligned; long 32bit aligned; pointer must be 32bit aligned; char must 8 bit aligned. long long must 64 bit aligned;