ARM vs Thumb vs Thumb2 instruction set

Hi ,

I have Asked a near question few days ago but I am still confused about the following :

I know that there is ARM Instruction set which is all 32-bit wide Encoding

but for thumb and thumb-2 comes the confusion:

1) thumb : for each 16 bit instruction there is an ARM (32-bit Encoding) with corresponding functionality BUT : Does THUMB contain 32-bit encoded instructions in addition to those 16-bit instructions .... if yes do they have Similar Encoding like ARM or Totally different ?

2) I understand That thumb-2 added some new 16-bit and 32-bit instructions .... is that the only difference between Thumb and Thumb2 ?

please tell the reference for ur answer


  • The encodings of Thumb2 and ARM ISAs are totally different.

    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.