At the time I6 is fetched from memory to Instruction register...the value of PC is updated to 330(ie address of next instruction).
PC= 328+2= 330
now during the execution of I6 interrupt occurs, which will be serviced after the execution of I6 completed.
Now we need to know how halt instruction works internally.. It changes the value of PC(program counter) to the address of current instruction. (That's why the system gets blocked as it keeps executing the current instruction again and again..) so the value of PC changes to 328 ..which will be pushed onto the stack.
Hence after the interrupt has been serviced, halt instruction execution restarts.