Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 2.78 KB

File metadata and controls

94 lines (68 loc) · 2.78 KB

MIC1

Emulador para MIC-1 e Assembler para a linguagem MAC-1.

O Programa deve emular uma microarquitetura IJVM, um subconjunto das instruções de uma JVM que lida somente com inteiros. Nosso programa deve conter um microprograma capaz de buscar, decodificar e executar instruções IJVM.

header

Instalação

Emulador:

# compila o Emulador.c e gera o executavel Emulador
make

 # executa o emulador com o programa prog.exe passado como argumento.
./Emulador prog.exe

Assembler:

# executa o assembler para montagem do arquivo prog.asm
python3 assembler.py prog.asm

com Docker:

# executa um container com a imagem do projeto e suas depedencias (assemlber e emulador)
docker run -it marcosdavy/mic1:latest
# dentro do container, voce podera tanto montar o assembler com
python3 assembler.py prog.asm
# como tambem executar o emulador com o binario gerado pelo assembler
./Emulador.o prog.exe

Exemplo de uso

Para mais informações, consulte a especificação.

Configuração para Desenvolvimento

Requesitos:

  • GCC
  • Python3
  • Docker (opcional)
  • Algum editor de texto

Escreva um arquivo em assembly mac-1, monte-o pelo assembler e o execute pelo emulador. Compile os arquivos como descrito na seção de instalação.

Histórico de lançamentos

  • 0.0.1
    • Trabalho em andamento

Info

Equipe:

  • André Brizzante Cintra
  • Daniel Rebouças de Queiroz
  • Davi Bessa steindorfer
  • David Lael Barroso Teixeira
  • Diego Freitas Holanda
  • Eduardo Alcântara de Alencar Pinto
  • Felipe Rodrigues Keiler
  • Marcos Davy Guedes Dias
  • Pedro Ernesto de Oliveira Primo

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

Contributing

  1. Faça o fork do projeto (https://github.com/DavyGuedes/mic1/fork)
  2. Crie uma branch para sua modificação (git checkout -b feature/fooBar)
  3. Faça o commit (git commit -am 'Add some fooBar')
  4. Push (git push origin feature/fooBar)
  5. Crie um novo Pull Request