What are ARM Thumb instructions? Thumb instructions are 16 or 32-bits wide. The ARM instruction set is a set of 32-bit instructions providing a comprehensive range of operations. ARMv4T and later define a 16-bit instruction
What are ARM Thumb instructions?
Thumb instructions are 16 or 32-bits wide. The ARM instruction set is a set of 32-bit instructions providing a comprehensive range of operations. ARMv4T and later define a 16-bit instruction set called Thumb.

What is the length of Thumb instruction?
Thumb instructions are each 16 bits long, and have a corresponding 32-bit ARM instruction that has the same effect on the processor model.
What’s the alignment requirement for Thumb instructions?
ARM instructions have fixed-width 4-byte encodings which require 4-byte alignment. Thumb instructions have variable-length (2 or 4-byte, now known as “narrow” and “wide”) encodings requiring 2-byte alignment – most instructions have 2-byte encodings, but bl and blx have always had 4-byte encodings*.

What is 16-bit Thumb instruction set?
The Thumb instruction set consists of 16-bit instructions that act as a compact shorthand for a subset of the 32-bit instructions of the standard ARM. Every Thumb instruction could instead be executed via the equivalent 32-bit ARM instruction.
What is Thumb and Thumb2?
ARM and Thumb have instructions with the same functionality and assembler mnemonics but different encodings. Thumb2 is a superset of Thumb. I’m not sure there is a modern reference for this as the architecture describes Thumb as a single instruction set with certain groups of instructions being optional.
What is Thumb-2 instruction set?
Thumb-2 is a superset of the Thumb instruction set. Thumb-2 introduces 32-bit instructions that are intermixed with the 16-bit instructions. The Thumb-2 instruction set covers almost all the functionality of the ARM instruction set. Thumb-2 is backwards compatible with the ARMv6 Thumb instruction set.
What is Thumb instruction set what is the difference between thumb 1 and thumb-2?
Thumb-2 is an enhancement to the 16-bit Thumb instruction set. The most important difference between the Thumb-2 instruction set and the ARM instruction set is that most 32-bit Thumb instructions are unconditional, whereas most ARM instructions can be conditional.