At the completion of the execute cycle, a test is made to determine whether any enabled interrupts have occurred. If so, the interrupt cycle occurs. The nature of this cycle varies greatly from one machine to another.
t1: MBR<-(PC)
t2: MAR<-Save_Address
PC<-Routine_Address
t3: Memory<-(MBR)
https://imgur.com/a/kvBiWGDInterrupt Processing works like as shown in the above image.
What needs to be happening is that:
Just save the value of PC somewhere and load PC with Interrupt_Service_Routine address.
However, the book says different(as presented in above microoperations). Please explain