Microprocessor Design and the ARM
Basics of ARM instructions
Linear structure of memory
ARM has a simple and short operand (e.g. values) encoding scheme, which facilitates fixed-length instructions and fast decoding. Most operations are performed on registers.
An ARM application views memory as a linear sequence of bytes. Memory is referenced by addresses, with these addresses taking the form of numbers of bytes from the start of memory. ARM processors can access individual bytes but it is more efficient to access whole words (32 bits). Word addresses must be correctly aligned in that bits 0 and 1 must be zero. Words are normally stored in "little endian" format, where the low-order byte is stored at the lowest byte address and the high-order byte is stored at the highest byte address. ARM processors are sufficiently flexible that they can be switched to "big endian" where the low order byte is stored at the highest byte address and the high order byte is stored at the lowest byte address.