2.1.1. Switching between processor states

Transition between processor states does not affect the processor mode or the contents of the registers.

Entering Thumb state

Entry into Thumb state can be achieved by executing a BX instruction with the state bit (bit 0) set in the operand register.

Transition to Thumb state also occurs automatically on return from an exception, for example, Interrupt ReQuest (IRQ), Fast Interrupt reQuest (FIQ), UNDEF, ABORT, and SoftWare Interrupt (SWI) if the exception was entered with the processor in Thumb state.

Entering ARM state

Entry into ARM state happens:

  • On execution of the BX instruction with the state bit clear in the operand register.

  • On the processor taking an exception, for example, IRQ, FIQ, RESET, UNDEF, ABORT, and SWI. In this case, the PC is placed in the link register of the exception mode, and execution starts at the vector address of the exception.

Copyright © 2001, 2003, 2004 ARM Limited. All rights reserved.ARM DDI 0229C