What are different types of registers in an operating system?
A processor often contains several kinds of registers, that can be classified according to their content or instructions that operate on them: User-accessible Registers – The most common division of user-accessible registers is into data registers and address registers. Data registers are used to hold numeric values such as integer and floating-point values. In some older and low end CPUs, a special data register, known as the accumulator, is used implicitly for many operations. Address registers hold addresses and are used by instructions that indirectly access memory. Some processors contain registers that may only be used to hold an address or only to hold numeric values (in some cases used as an index register whose value is added as an offset from some address); others allow registers to hold either kind of quantity. A wide variety of possible addressing modes, used to specify the effective address of an operand, exist. A stack pointer, sometimes called a stack register, is the na