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
On Cortex-M you have only Thumb-2. Only Cortex-R/A have also ARM ISA. But anyway, a 32bit Thumb-2 instruction is a native Thumb-2 instruction and not an ARM instruction.
Thanks for your Answer