| |||
| Home > Programmers Model > Data types | |||
The processor supports the following data types:
word (32-bit)
halfword (16-bit)
byte (8-bit).
In addition, long multiplies support 64-bit results with or without accumulation.
When any of these types are described as unsigned, the N-bit data value represents a non-negative integer in the range 0 to +2N-1, using normal binary format.
When any of these types are described as signed, the N-bit data value represents an integer in the range -2N-1 to +2N-1-1, using two’s complement format.
Where the results of signed and unsigned versions of an instruction differ, both versions are usually provided. The main exception is that both versions are provided for only some of the multiply and multiply-accumulate instructions.
For best performance you must align these as follows:
word quantities must be aligned to four-byte boundaries
halfword quantities must be aligned to two-byte boundaries
byte quantities can be placed on any byte boundary.
You cannot use LDRD, LDM, LDC, STRD, STM,
or STC instructions to access 32-bit quantities if they
are unaligned.