title: Why Cortex-M requires its first word as initial stack pointer?
body: <p>Imagine that I am writing an assembly language program which doesn't use the stack at all. </p>
  
  <p>Why does Cortex-M mandates for a stack pointer ? What does the CPU do with this stack pointer even if I don't use it(Does the CPU require the SP to function ? I don't think that SP is mandatory for a CPU to function.) ?</p>
  
  <p>I makes sense for me to place at the first address the first instruction to be executed or an address where the program begins.</p>