• Instruction width selection - forward/external reference
    Hi, I am learning the Thumb 2 instruction set and at the moment I am trying to understand when to use the instruction width specifier. e.g.: ldmia.w sp!,{r3,lr} I understand sometimes it is necessary...
  • Cortex-m0 instructions and core registers immediete values
    Hi, i have just got a cortex-m0(LPC1114) based dev board. I'm reading about the architecture and instructions. My understanding is that it supports most thumb 16-bit instructions and a handful thumb-2...
  • What is P1, P2, P3 and P4 use in Thumb2 IF block instruction?
    Hi, When I read IT block in Thumb2 instruction, I don't understand the use of P1, P2, P3 and P4. From below pictures, can you tell me what use are P1, P2, P3 and P4? Thanks, This line is especially puzzling...
  • Is ARMv7-M3 thumb instructions compatible to ARMv7-A thumb?
    Hello guys, I am trying to verify some features of ARMv7-M3 in a software simulator platform for ARM. But this simulator only support ARMv7-A ISA. Is ARMv7-M3 instructions compatible to ARMv7-A, especially...
  • [Cortex-M0] Thumb mode & code size
    Hi, I'm somewhat confused with the Thumb mode code size.  My understanding is compiling with ARM mode will generate 32-bit instructions and compiling with Thumb mode will generate 16-bit instructions...