Registers do have addresses, even though they don't generally reside in memory. Think about it a minute : an address denotes a location in some space, where memory is just one instance of a space.
Which register can be used as address pointer?
Pointer Registers
IP in association with the CS register (as CS:IP) gives the complete address of the current instruction in the code segment. Stack Pointer (SP) − The 16-bit SP register provides the offset value within the program stack.
What are registers located?
Registers are the smallest data holding elements that are built into the processor itself. These are the memory locations that are directly accessible by the processor. It may hold an instruction, a storage address or any kind of data such as a bit sequence or individual characters.