Registers Summary

The computer has eight general purpose 8-bit registers named A, B, C, D, M1, M2, X and Y. Although each can be used generally some of the registers have additional specific uses. Register B and C feed the ALU inputs, M1 and M2 form a 16-bit memory pointer (M) and X and Y form a 16-bit memory pointer (XY) typically used to store a return address when performing jumps.

In addition to the general purpose registers there are five special registers named J1, J2, the instruction register, the program counter and the ALU condition code register. J1 and J2 form a 16-bit memory pointer (J) typically used to store a jump address. J1 and J2 cannot be selected and J cannot be loaded hence why they are not therefore classed as general purpose. The instruction register holds the current instruction to be executed and can only be loaded. The program counter can only be loaded and selected from/to the address bus.

Details of the design, construction and testing of each register can be found in the following posts:

(in general)
General Purpose 8-bit Register
General Purpose 16-bit Register
A / D RegisterA and D 8-bit RegistersA and D 8-bit RegistersA and D 8-bit Registers Full Test
B / C RegisterDual Output 8-bit Register
B and C 8-bit Registers
B and C 8-bit RegistersB and C 8-bit Registers Full Test
Increment RegisterIncrement Register
Instruction RegisterInstruction RegisterInstruction RegisterInstruction Register Full Test
Program CounterProgram CounterProgram Counter