Answer is b) Program Counter.
Let's have a look at each option:-
a) Index Register:- These kind of register are used during the array element related calculation calculation.
like
Add r0 3(r1)
it means that Operand 1 is in register r0 and operand 2 is in memory location M[3 + r1] and add these two and assign into the r0 register.
b) Program Counter :- This register hold the address of the next instruction to be executed like.
Inst1 has address 1000
Inst2 has address 1002
Now suppose Inst1 is executing then the Program Counter holds the address of the next Instruction i.e. Inst2
Content of Program Counter at this instance is 1002.
c) Memory address register :- This register hold the address of the data which is to be accessed.
d) Instruction register:- This register is used to hold the instruction itself.
Hence the answer is b). Program Counter.