We know PC points to next instruction which is going to be executed..So when an interrupt occurs , after execution of current execution cycle , the interrupt is serviced ..
So PC holds the address of next instruction which is going to be executed as we know..So in context of interrupt occurence also , after interrupt is serviced the instruction pointed by PC is performed..
And one thing we know that internal meaning of HALT means looping in itself ..So branch address is the address of instruction itself..So the location of HALT itself will be placed on the stack as a return address.
Hence the address pushed on the stack = 328