| |||
| Home > Programmers Model > Modes of operation and execution > Instruction set states | |||
The processor has two instruction set states:
The processor executes 32-bit, word-aligned ARM instructions in this state.
The processor executes 32-bit and 16-bit halfword-aligned Thumb instructions in this state.
Transition between ARM state and Thumb state does not affect the processor mode or the register contents.
The instruction set state of the processor can be switched between ARM state and Thumb state:
Using the BX and BLX instructions,
by a load to the PC, or with a data-processing instruction that
does not set flags, with the PC as the destination register. Switching
state is described in the ARM Architecture Reference
Manual.
When the BXJ instruction is used the processor
invokes the BX instruction.
Automatically on an exception. You can write an exception handler routine in ARM or Thumb code. For more information, see Exceptions.