Registers

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:

  Design Construction Testing
Registers
(in general)
General Purpose 8-bit Register

A / D Register A and D 8-bit Registers A and D 8-bit Registers A and D 8-bit Registers Full Test
B / C Register Dual Output 8-bit Register
B and C 8-bit Registers
B and C 8-bit Registers B and C 8-bit Registers Full Test
Increment Register Increment Register

Instruction Register Instruction Register Instruction Register Instruction Register Full Test
Program Counter Program Counter Program Counter

Comments

Popular posts from this blog

ALU Design: 1-bit Arithmetic Unit

ALU Design: 8-bit Arithmetic Unit

Decoder Design: MOV-8, ALU & SETAB