Desenvolver e implementar em linguagem C ou JAVA, um máquina virtual que emule as principais funções e comportamentos de uma CPU para a execução de um conjunto de instruções fornecidas pelo usuário no começo do programa.
Ciclo:
1- Ler um uma instrução em binários(a quantidade de bits fica a critério) e armazenar a instrução num registrador chamado RI para ser decodificada e armazenada.
2- Atualiza um registrador chamado PC fazendo o armazenar a instrução seguinte.
3- Vamos supor que essa instrução tem 12 bits, os 4 primeiros bits seriam a operação desejada(0000 soma, 0001 subtração, 0010 inversão, 0011 multiplicação), os próximos 4 seriam o operando 01 e os próximos 4 seriam o operando 02.
4 - Insiro o operando 01 num registrador chamado A e o operando 02 num registrador chamado B, executo a operação desejada sobre esses dois operandos e gravo a resposta no registrador A.
5 - o ciclo se repete;
obs: Preciso apenas de umas 4 instruções. Não é necessário qualquer tipo de banco de dados.