Objetivo: tornar a máquina de estados genérica o bastante para executar um programa na memória.
Modificar o hardware implementado na atividade 2, adicionando os seguintes recursos:
- Adicionar os registradores de R0 até R3 (veja a figura);
- Criar o PC e a ROM. Crie as habilitações e o buffer para acessar o barramento (veja a figura);
obs.: criar um programa Assembly que leia as informações de entrada IN, transfira para o registrador R0 e finalmente jogue para a saída OUT (colocar no arquivo ROM.MIF):
IN ac
MOV R0,AC
MOV AC,R0
OUT AC
JMP 0
4. Modificar a ME:
- instalando os arquivos "ULA_DEF.inc", "REGS_DEF.inc" e "INSTRUCT_DEF.inc" para o seu projeto;
- criando os estados para executar os comandos MOV, JMP, IN e OUT (pegue aqui o código-esqueleto da ME para você completar);
- observar que foi adicionado um pino novo na ME(veja a figura).
5. Observe e verifique se todo o projeto está completo (veja a figura);
6. Simular, montar e apresentar ao professor funcionando.
7. Veja no vídeo abaixo como inserir uma ROM no seu projeto: