Hardware - Processor and Memory
- Accumulators - serve the purpose of holding data used in calculations.
- Address Registers - are used for storing the memory location of data or instructions to be used by a program.
- Stack Pointer - this register is used during sub-routine nesting and stack based arithmetic.
- Status Register - this register provides a service to the CPU by maintaining the status of the last operation carried out by the ALU.
- Instruction Pointer - sometimes referred to as the program counter, the pointer is responsible for retaining the memory address of the next instruction to be executed.