If only there was a tutorial like this, but for the Cortex-M series — specifically, M0+ and M4.<p>I recently had to dig through tons of documentation just to get started and ARM is really bad at providing overview documentation. As an example: I quickly discovered that the Cortex-M doesn't really have 16 registers. You only get 8 general-purpose registers and 5 kinda-registery-quick-storage-locations, which only certain instructions can access. To this day I couldn't find a clear list of instructions that can access these high registers.