Question: what is the difference between program counter and stack pointer?
Answer: Program counter is a register which holds the address of next instruction when the current instruction is under execution while stack pointer is a pointer which points to the top element of the stack.