It's demanded to design a simplified machine (computer) and its emulator. First I need to do the design of this machine and here is some ideas I've thought about:
- Components: main memory, ALU, RI, RIM, RAM, CO, ACC
- Instruction of 16bits
- Instruction format: I'm thinking about making two address instructions but still thinking about the positioning of each field of the instruction
- Instruction set: addition, subtraction, shift, logic AND and OR, store and load the accumulator data, conditional and unconditional jump, (multiplication and division: I'm not very confident about these two because they seem to be a bit complicated)
Problems I've come across:
- I find this first approach very simple and want to develop it a bit more but it should still be easy to make its emulator and not very complicated.
- I want to add more registers like index register, general purpose register but I don't know if that would be hard to do.
- I can't find enough resources to get more ideas for the design of the machine.
- For the emulator I don't really know where to start and which programming language