

So I need to figure out the instruction format and build my control unit circuit. I have an add, subtract, multiply, load, store, branch if zero, branch if not zero, print (to display), input (from keyboard), and return (exit program) instructions.Īddresses are 4 bits long, and I have two general purpose registers, so I only need a single bit per register so for addition, subtraction, and multiplication, I need 2 bits for the registers (one per register, two registers) - leaving me with 6 extra bits in the instruction format.įor loading/storing/branch if zero/branch if not zero, I need one bit for the single register and 4 bits for the address, leaving me with 3 extra bits in the instruction format.įor print and return, I only need one register, so 1 bit, leaving me with 7 bits for the rest of the instruction format and for return, I have a full 8 bits I'm not sure what to do with. I'm trying to create a CPU, using 8-bit instructions, and there will be 9 or 10 of them.
