- 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.extensao
no 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 (/
).