In 2.22 , Memory size is byte addressable and of 32 bit and instruction size is in words so in this question
1 word = 4 byte
Note that When HALT instruction will occur then program counter will store the starting address of that instruction.
Here i am naming instruction as I1,I2,I3,I4,HALT (Just for easy writing)
Instruction |
Memory Address |
I1 |
1000-1007 |
I2 |
1008-1011 |
I3 |
1012-1015 |
I4 |
1016-1023 |
HALT |
1024-1027 |
So , during execution of HALT statement PC will have address 1024 and when interrupt will occur at this stage then program counter will Save this address in stack and return address 1024 after servicing of Interrupt.