This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Arm Instruction Set (Thumb-2)

Hi , I am New to this Community

I am Studying now Cortex-M3 .. I am reading Joseph Yiu book...

I am Confused in the part of the instruction set , and I couldn't get the following:

as i understand that some of the original ARM 32-bit instructions are 32-bit encoded and could be Executed as 32-bit instruction

if the processor in Thumb mode otherwise in ARM mode All instructions should be only 32-bit ... Thumb-2 Allow Execution of both 16-bit and 32 bit instructions .....Now my questions :

1) 16-bit Thumb instructions are subset of the original ARM but 16-bit encoded , but in Thumb-2 the rest 32-bit instructions where did they come from , are they are the rest of the ARM ISA that where not 16-bit encoded ?

2) I read that some instructions could be represented as 16-bit or 32-bit equivalent , Now why and How an instruction could have two formats(16- and 32- ) please give an example .

3) how could I group instructions into three groups (16- bit only) , (32-bit only) , (could be represented as either)?

please elaborate ...

thanks