- Antônio Vinicius de Moura Rodrigues (190084502)
- Isaque Augusto da Silva Santos (190089245)
Este projeto é uma implementação de um tradutor em C++ que utiliza o algoritmo de 2 passagens para uma linguagem de montagem simples. O tradutor desempenha o papel de um Assembler para a linguagem hipotética abaixo:
| Opcode Simbólico | Opcode Numérico | Tamanho (palavras) | Ação |
|---|---|---|---|
| ADD | 01 | 2 | ACC + mem(OP) |
| SUB | 02 | 2 | ACC - mem(OP) |
| MUL | 03 | 2 | ACC * mem(OP) |
| DIV | 04 | 2 | ACC / mem(OP) |
| JMP | 05 | 1 | PC = OP |
| JMPN | 06 | 1 | Se ACC < 0, PC = OP |
| JMPP | 07 | 1 | Se ACC > 0, PC = OP |
| JMPZ | 08 | 1 | Se ACC = 0, PC = OP |
| COPY | 09 | 2 | mem(OP2) = mem(OP1) |
| LOAD | 10 | 2 | ACC = mem(OP) |
| STORE | 11 | 2 | mem(OP) = ACC |
| INPUT | 12 | 2 | mem(OP) = entrada |
| OUTPUT | 13 | 2 | saída = mem(OP) |
| STOP | 14 | 1 | Suspende a execução |
- IDE:
Code::Blocks - Compilador:
g++.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0 pelo MinGW - Versão do C++:
17
- Instalar o codeblocks-20.03mingw-setup.exe, sem mudar nada no processo da instalação, apenas clicando em "Next".
- Ao abrir o codeblocks pela primeira vez, será detectado o compilador GNU GCC. Selecionar "OK".
- Para evitar mensagem de erro de versão no compilador, adicione a flag e "-std=c++17" indo em Settings > Compiler > Compiler Flags, conforme a imagem a seguir:
-
Após isso, deve-se adicionar o nome do arquivo que será compilado. Isso pode ser feito em: Project > Set Program Arguments' . Selecione o modo em que está sendo feita a compilação (Debug ou Release) e escreva
nome_do_arquivo.extensaono campo Program Arguments. -
Clique no ícone "Build and Run".
- Verificar se o g++ está instalado, com o comando
g++ --version, atentando-se à versão do compilador. - Para compilar, o comando é:
g++ -std=c++17 montador.cpp -o montador. - Para executar, digite:
.\montador <path>\nome_do_arquivo.extensao.
- Verificar se o g++ está instalado, com o comando
g++ --version, atentando-se à versão do compilador. - Para compilar, o comando é:
g++ -std=c++17 simulador.cpp -o simulador. - Para executar, digite:
.\simulador <path>\codigo_gerado.obj.
Obs: Para executar no terminal do linux, basta usar os mesmos comandos substituindo as barras invertidas (\) por barras normais (/).
