S3F84B8_UM_REV 1.00 5 INTERRUPT STRUCTURE5-155.1.16 GENERATING INTERRUPT VECTOR ADDRESSESThe interrupt vector area in the ROM (00H–FFH) contains the addresses of interrupt service routines thatcorrespond to each level in the interrupt structure. Vectored interrupt processing follows this sequence:1. Push the program counter’s low-byte value to the stack.2. Push the program counter’s high-byte value to the stack.3. Push the FLAG register values to the stack.4. Fetch the service routine’s high-byte address from the vector location.5. Fetch the service routine’s low-byte address from the vector location.6. Branch to the service routine specified by the concatenated 16-bit vector address.NOTE: A 16-bit vector address always begins at an even-numbered ROM address within the range of 00H–FFH.5.1.17 NESTING OF VECTORED INTERRUPTSIt is possible to nest a higher-priority interrupt request while a lower-priority request is being serviced. To do this,you must follow these steps:1. Push the current 8-bit interrupt mask register (IMR) value to the stack (PUSH IMR).2. Load the IMR register with a new mask value that enables only the higher priority interrupt.3. Execute an EI instruction to enable interrupt processing (a higher priority interrupt will be processed if itoccurs).4. When the lower-priority interrupt service routine ends, execute DI and restore the IMR to its original value byreturning the previous mask value from the stack (POP IMR).5. Execute an IRET.Depending on the application, you may be able to simplify the above procedure to some extent.