title: How to use Hi(r8-r12) register in Cortex-m0?
body: <p>In ARM/Thumb architecture, there are 16(r0-r15) registers in a single cpu. Furthermore, Thumb-Instruction-Set can only use the first 8(r0-r7) registers and the r13,r14 and r15 register.But the last 5(r8-r12) register are still in the cpu. How can we use these Hi(r8-r12) registers?</p>
  
  <p>Recently, I am designing a protecting scheme in ARM Cortex-M0 CPU. In my project, I want to use r9 and r10 to store some information. Because other instructions would not use these registers, so I don`t need to push and pop these registers.</p>
  
  <p>Can anyone help me with these? Should I use BX or BLX instruction to switch instruction set?</p>
  
  <p><a href="https://i.stack.imgur.com/9ihvk.png" rel="nofollow noreferrer">Instruction I use the r9 register</a></p>
  
  <p><a href="https://i.stack.imgur.com/ms5hd.png" rel="nofollow noreferrer">Wrong information</a></p>