The Data transfer instruction size is $64-bit$ ALU, ALU operation instruction size is $32-bit$ and branch instruction size is $16-bit$. Assume program has been loaded in the memory starting from address 3000 decimal. If an interrupt occurs during the execution of $I-6$, the return address pushed onto the stack is:
Doubt: When $I-6$ is executing, PC value will be 3030, but given answer is 3028
Previous Q: https://gateoverflow.in/1058/gate2004-63
@srestha Ma'am , but is mentioned interrupt occurs during execution of (I-6) HALT
and Halt is branch inst. which is of 2B
so at the time value of PC = 3030 address following the HALT instruction, and value of PC will be pushed to stack
Ma'am from this Q: https://gateoverflow.in/1058/gate2004-63
Halt internally invokes JMP like this-
(YES, it is infinite loop)
Halt instruction (unconditionally) jumps to same address of the instruction itself. And as an user point of view, program is terminated, but as a CPU point of view, it goes in infinite loop."
@Anmol 300 books will be dispatched this month...