Este projeto tem como objetivo a criação de uma máquina virtual totalmente funcional, incluindo uma CPU virtual, registradores, uma linguagem Assembly personalizada e um sistema de memória virtual. Futuramente, será possível implementar uma interface de entrada/saída através de uma porta serial virtual ou unidade de disquete.
O desenvolvimento foi realizado do zero, sem o uso de dependências externas, utilizando apenas os recursos essenciais da linguagem C, com a implementação manual de todas as funções necessárias.
- CPU Virtual 🖥️: Implementação de uma unidade de processamento com registradores.
- Memória Virtual 💾: Gerenciamento manual da pilha e do segmento de código.
- Linguagem Assembly 💻: Criação de uma linguagem de baixo nível personalizada.
- Execução de Instruções ⚙️: Interpretação e execução de código escrito na nossa linguagem Assembly.
- Sistema de Entrada/Saída (Futuro) 🔌: Comunicação via porta serial ou suporte à unidade de disquete virtual.
- Compilador C (GCC, Clang, etc.)
- Ambiente UNIX/Linux ou Windows com WSL
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um pull request com melhorias, correções ou sugestões.
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.