Explain the step-by-step process of how an Interrupt Service Routine (ISR) is executed. What are the constraints of writing code inside an ISR?