The ARM architecture is a load/store architecture i.e. to process any data, it has to be loaded inside the core, processed and store it outside again. There is no single operation to process data directly outside the core.
The Instruction Sets available in ARM are:
- ARM Instruction Set - 32 bit
- Thumb Instruction Set - 16/32 bit The ARM Cortex M profile only supports the Thumb Instruction Set. Thumb Instruction Set was initially on 16 bits. But with the introduction of Thumb-2, it supported variable length instruction 16/32 bits.
Almost every instruction in the ARM architecture has a conditional counterpart that determines whether to execute that instruction or skip it.
By default no instructions modify the xPSR. To update the xPSR according to the outcome of the operation, we specify the suffix “S”.