The Thumb Extension (ARM7 = ARMv4) Thumb instructions are 16-bits wide The idea is to "expand" instructions on the fly Pro: It took very little logic in the core Pro: Code is much more compact Con: Only a subset of the registers can be accessed Con: 2-operand operations (ARM has 3-operand ops) Con: No conditional ops nor some other interesting features BX and BLX (branch (and link) and exchange) switch mode